【发布时间】:2013-11-17 18:37:00
【问题描述】:
我想运行 php 脚本,该脚本在另一个 php 页面的后台运行无限循环,而不会停止或影响调用者页面, 到目前为止我尝试过的是: 在来电页面:
set_time_limit(0);
ignore_user_abort(true);
$path=realpath('./infinity.php');
$cmd='c:/xampp/php/php'.$path;
if (substr(php_uname(), 0, 7) == "Windows"){
exec("start/b C:\\xampp\\php\\php $path > NUL");
}
else {
exec($cmd . " > /dev/null &");
}
infinity.php
set_time_limit(0);
ignore_user_abort(true);
我的问题是,当我尝试在浏览器中打开调用方页面时,我会永远看到加载标记并且页面永远不会打开!
你能告诉我我错过了什么吗? 注意: - 我正在使用 Windows 8 - 我在两个页面中都使用了 set_time_limit(0) 和 ignore_user_abort(true),因为我不知道我应该如何使用它们。
我知道我的问题可能是重复的,但我已经尝试了所有建议的解决方案,但我仍然无法打开来电者页面
感谢任何帮助
【问题讨论】:
-
PHP 不是异步或多线程的。您的无限循环将阻止任何其他进程,直到它退出。您可以查看更适合此问题的其他技术,或说明您需要这样做的原因(我们可能会建议更好的 PHP 选项)。
标签: php windows background