我正在尝试在本地Linux Apache下运行PHP脚本而不会被Apache停止。我使用的是PHP 5.5.9-1ubuntu4.4
,Apache/2.4.7 (Ubuntu)
,Ubuntu 14.04 LTS 64-bit
。
到目前为止我做了什么:
在我的PHP脚本中:
ignore_user_abort(true);
set_time_limit(0);
...
foreach(...) {
...
// inside loop
usleep(1000);
...
}
全部php.ini
:
max_execution_time=3600;
上述任何内容都没有帮助。脚本在~30秒后停止。我没有想法。我的脚本是否可能因为内存不足而关闭?最好的检查方法是什么?
编辑:
通过添加“ini_set('display_errors',1);”我收到错误Allowed memory size of 134217728 bytes exhausted
。所以这是关于记忆的,感谢提示如何检查。
解决方案:
根本问题是使用'foreach'循环。将所有'foreach'循环切换为'for'循环后,内存使用变得更加稳定。
答案 0 :(得分:2)
ini_set(“max_execution_time”,0);
仅在http中,如果使用https,则必须更改php.ini
请记住重新加载您的Web服务器。
答案 1 :(得分:0)
要查看导致脚本停止的原因,请将以下内容添加到页面顶部:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>