2

在我的 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
编辑文件。 更改为。 重启阿帕奇。然后将解决快速 CGI 超时问题。/etc/httpd/conf.d/fcgid.conf
FcgidIOTimeout 45FcgidIOTimeout 600

4

3 回答 3

9

那是mod_fcgid超时,而不是 PHP 超时。查看mod_fcgid文档以了解如何更改它,尤其是在FcgidIOTimeout.

于 2013-03-19T19:55:11.557 回答
5

如果构建正确,则 Cron 脚本不应通过 apache 运行。您的错误表明您遇到了 mod_fcgi 设置的超时。

于 2013-03-19T19:54:53.023 回答
1

如果你通过 cronjob 中的 http 访问它,那么它将作为网页请求工作,然后它可能会受到 apache 超时的影响,因为 apache 参与了该过程。您可以使用 php 解释器以绝对路径直接运行 php 脚本以绕过 apache

于 2013-03-19T19:54:31.697 回答