【发布时间】:2013-05-18 00:57:16
【问题描述】:
首先,感谢您花时间阅读本文:)
我正在管理一个运行 apache2 和 mod_fcgi 的服务器,它通过虚拟主机托管一些站点。有些网站是直接的 PHP,其他的都是 WordPress。 WordPress 网站都运行良好,但是,当您尝试访问它们时,任何其他网站都会引发 500 内部服务器错误。
如果您导航到 web 目录上的非 php 文件(如图像),它将显示,但任何 .php 文件都会引发此错误。
Apache2 错误日志没有显示任何内容。
当我跟踪网站的错误日志时,我得到了这个:
[Wed May 22 15:12:15 2013] [warn] [client x.x.x.x] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Wed May 22 15:12:15 2013] [error] [client x.x.x.x] Premature end of script headers: php-fcgi-wrapper
[Wed May 22 15:12:15 2013] [debug] mod_deflate.c(615): [client x.x.x.x] Zlib: Compressed 612 to 377 : URL /fcgi-bin/php-fcgi-wrapper/index.php
网站的根目录位于/var/www/site1/
我已经对我的权限和所有权进行了四重检查。 我为 PHP 增加了更多内存。 我尝试查看 php.log 文件,但没有写入任何内容。
谁能指出其他可能导致此问题的原因?
谢谢!
【问题讨论】:
-
您是否检查过这里的 CGI 是否存在冲突?我似乎记得不久前我的一些网站有问题。不幸的是,我没有时间查找解决方案(不记得了),但如果您没有得到任何回复,请采取该途径。
-
Error 500 with mod_fcgi(或 mod_fastcgi)在 apache/fcgi/php 组合中相当常见,你会经常看到它。配置非常复杂,每个组件都有单独的日志记录。我猜在您的情况下,您错误地配置了 fcgi 以使用 php,无论如何错误 500 通常表示 fcgi 应用程序和网络服务器之间的连接丢失。配置它并不简单,我不希望为您的情况提供一些直接、简单的解决方案。确实有很多事情可能会导致您描述的结果。调试,调试,调试。啰嗦,啰嗦,啰嗦。调试,调试,调试。
-
在大多数情况下,它是由与允许的 fcgi 分叉数(mod_fcgi 选项)有关的 apache 子/线程的配置数量无效、与 php 允许的资源量有关,甚至与整个系统中每个进程的文件。这可能是配置中一些容易发现的明显错误,但也可能很难跟踪,选项的数量、它们的含义以及它们之间的关系构成了大量的原因选择..
-
如果可能的话,你可能真的想为 fcgi 尝试 lighthttpd 或 sth 而不是 apache。 Apache 早在 fcgi 之前就被发明了,尽管它有很多优点,但要让它与它一起工作相当稳定是一个漫长而痛苦的过程,在简单的“我的网页正在加载,为什么又出现 500 错误?”的情况下。 :)
标签: php ubuntu apache2 fastcgi