如何防止wget停止在长PHP脚本上

时间:2012-08-26 13:38:49

标签: php timeout wget

以下代码在PHP中执行

shell_exec('wget -q -T 0 -b -O "'.dirname(__FILE__).'/logs/log.txt" "'.$_SERVER['SERVER_NAME'].'/my/script.php" > /dev/null 2>&1');

几个小时后,脚本停止没有任何理由。 log.txt中没有错误,也没有出现apache错误。 这些行应该可以防止这种行为:

session_write_close();
ini_set('max_execution_time',0);
set_time_limit(0);

我还不时添加echo(' '); flush();,以确保apache不会因为没有输出而杀死脚本(它出现在apache错误日志中)。

有趣的提示是,当我在开头添加ignore_user_abort(1);时 - 脚本不会停止。

我知道有其他方法可以完成脚本并收集输出,但我正在寻找的是wget放弃下载的原因,即使超时设置为0.或者原因可能在其他地方?

0 个答案:

没有答案