【问题标题】:Apache 500 Error with PHP FunPHP Fun 的 Apache 500 错误
【发布时间】: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


【解决方案1】:

我不确定在 GoDaddy 上对这个问题的处理,但正常的解决方案如下:

您遇到的问题是由于 FastCGI 执行 PHP 脚本,但它在默认 IO 超时(120 秒)内没有生成响应,从而导致 500 Internal Server Error。

尝试编辑默认的 VirtualHost conf 文件,通常位于 /etc/apache2/sites-available/default 并在 &lt;VirtualHost&gt; 上下文中添加此指令:

<IfModule mod_fcgid.c>
   IPCCommTimeout  7200
</IfModule>

保存修改后,用这个命令重启apache2:sudo /etc/init.d/apache2 restart

据我从 GoDaddy 得知,共享主机中 PHP/FastCGI 的最大时间限制为 120 秒,客户端无法增加。我建议联系他们的支持以寻求帮助,希望他们的声誉不会受到影响,您将能够获得帮助。

更新: 不确定它是否会有所帮助,但您可以尝试在您的主机控制中心(设置 > 文件扩展名 > php5)中从 FastCGI 更改为 PHP5。

【讨论】:

  • godaddy 上的一张票说这应该插入到 .htaccess 文件中,我试过了,但是它破坏了网站。还有其他地方应该去吗?
  • 除了按照上面的指示修改conf 文件或.htaccess 文件之外,我不知道有什么。 .htaccess 文件的用途之一是修改提供的目录/网站的系统设置。
  • 您能否详细说明“它破坏了网站”?
  • 抱歉,它会在任何页面加载时引发 500 错误。
  • 修改您的问题并尽可能粘贴您的.htaccess 文件的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 2011-06-30
  • 1970-01-01
相关资源
最近更新 更多