我的问题是,长的PHP脚本(几个小时)正在退出提前。 (FireFox表示“加载页面时,服务器的连接重置”)。
有时在30分钟后退出,有时在1小时45分钟后退出。
对于FastCGI,我通过WHM包含编辑器将以下内容包含到httpd.conf中以post_virtualhost:
<IfModule mod_fcgid.c> FcgidBusyTimeout 86400 FcgidIOTimeout 86400 </IfModule>
之后,IfModule节我有<目录path/到/ mysite>部分(“<”之后没有空格)。
我在脚本中多次使用set_time_limit()和ignore_user_abort()来保持运行。
在Apache错误日志中没有任何东西。
phpinfo: http ://lot-art.com/info.php(你可以看到set_time_limit()和ignore_user_abort()的作品)
它在我的旧服务器上运行正常,运行mod_php: http : //216.119.148.91/info.php
只需运行通过cron /等networking服务器的脚本单独
如果你需要从networking服务器运行… popen(nohup ..)并运行脚本上的cli …
我的猜测是,networking服务器/浏览器连接超时/失败,最终TCP堆栈说:“我们在这里完成”和PHP进程被拆除..我不愿意想象一个浏览器窗口等待几个小时的脚本完成…
如果你真的想这样做,而问题确实是一个客户端连接问题,你可以看看在脚本/ php.ini中设置ignore-user-abort为true …
这可能是由于PHP 5.5中的错误吗? 像分段错误会导致PHP立即退出 – 不会有任何错误loggingAFAIK。
我同意你应该从命令行运行它,如果它是seg-fault或类似的,那么尝试运行gdb来获得一个核心转储,并将其报告为一个bug: https://bugs.php。净/
如果这不是一个选项,我会尝试添加日志logging到任务,以缩小脚本在什么时候退出。