在我的Plesk 11中,PHP 5.4.7。 Apache / 2.4.3系统,当我创建cron作业时,我从error.log文件中得到此错误。
[Tue Mar 19 21:33:18 2013] [warn] [client 88.44.55.66] mod_fcgid: read data timeout in 45 seconds
[Tue Mar 19 21:33:18 2013] [error] [client 88.44.55.66] Premature end of script headers: index.php
所以我用这个检查了执行时间:
echo ini_get('max_execution_time');
我得到了这个值:1560000
它似乎不是超时问题,但我收到超时错误?
回答将来的参考:
使用vim编辑/etc/httpd/conf.d/fcgid.conf
文件
将FcgidIOTimeout 45
更改为FcgidIOTimeout 600
重启Apache。
然后将解决快速CGI超时。
答案 0 :(得分:8)
这是mod_fcgid
超时,而不是PHP超时。请查看mod_fcgid
documentation以了解如何更改它,尤其是在FcgidIOTimeout
。
答案 1 :(得分:5)
如果正确构建,Cron脚本不应该通过apache运行。您的错误显示您遇到mod_fcgi设置的超时。
答案 2 :(得分:1)
如果您通过cronjob中的http访问它,那么它将作为网页请求工作,然后它可能会受到apache超时的影响,因为apache参与了该过程。您可以使用php解释器直接使用绝对路径运行php脚本以绕过apache