【发布时间】:2012-07-11 19:48:31
【问题描述】:
所以我在我的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
如果有人对我为什么会收到这些错误有任何想法或对尝试的事情有任何建议,我将不胜感激。我确实注意到设置为 120 的 php 设置中的一个选项,但我不确定它是否会产生影响: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共享主机,这应该可行。是时候寻找新的托管服务了。
【问题讨论】:
-
你试过在本地运行吗? XAMPP 或 Uniserver 都可以在本地运行(甚至在闪存驱动器上)。它至少可以排除 GoDaddy 糟糕的托管选项的问题......
-
我还没有也将尝试,但同时我希望在 php.ini 文件中我遗漏了一些东西。我试图禁用 FastCGI 只是为了看看会发生什么。
-
当然,当我尝试禁用 FastCGI 时,godaddy 给我一个连接问题,我想我需要设置一个 Uniserver!
标签: php apache timeout execution max