所以我在我的godaddy(不要恨我)虚拟服务器上运行一个PHP脚本,我预计需要大约5分钟才能完成执行。该脚本是 CURLing 页面,但一次不会超过 1 页(它是在循环中重复使用相同的变量)。我将 php5.ini 文件修改为以下内容:
max_execution_time = 600
max_input_time = 120
memory_limit = 64M
我通过 phpinfo 验证了 ini 文件更改已经生效,但是 120 秒后出现 Apache 500 错误。这是这次的错误日志:
[Wed Jul 11 22:08:52 2012] [warn] [client **.**.**.***] mod_fcgid: read data timeout in 120 seconds
[Wed Jul 11 22:08:52 2012] [error] [client **.**.**.***] Premature end of script headers: test.php
如果有人对我为什么会收到这些错误有任何想法或对尝试的事情有任何建议,我将不胜感激。我确实注意到 php 设置中的一个选项设置为 120,但我不确定它是否会产生影响:realpath_cache_tt
我还在 .php 文件中设置了时间限制: set_time_limit( 600 );
提前致谢。
更新: 这是我在 .htaccess 文件中尝试的内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
<IfModule mod_fcgid.c>
IPCCommTimeout 7200
</IfModule>
这会在任何页面加载时导致 Apache 500 错误。 我也禁用了 FastCGI,但问题仍然存在。
已解决RobB 提出以下建议: IPCCommTimeout 7200 这应该可以工作,但是由于我的 Godaddy 共享主机,它是不允许的。是时候寻找新的托管服务了。