PHP 升级后出现 FastCGI 错误
Posted
技术标签:
【中文标题】PHP 升级后出现 FastCGI 错误【英文标题】:FastCGI error after PHP Upgrade 【发布时间】:2014-02-12 11:49:22 【问题描述】:如上一个问题 (https://***.com/questions/21648349/php-5-5-9-test-failures-and-internal-server-errors) 中所述,我的服务器管理员最近尝试在我们当前的配置(即 php 5.3.8)旁边安装 php 5.5.9(使用包装器)。操作系统是 Opensuse 12.1,它是一个 Plesk 服务器 (11.0.9)。
在特定虚拟主机上成功安装并启动新配置后,每个 php 脚本都会抛出 500 内部服务器错误。 Apache 日志没有显示任何有用的信息,但是我们能够让 mod_sec 拾取一个 fastcgi 错误,如下所示:
**Apache 错误:
[file "fcgid_proc_unix.c"] [line 634] [level 4] [status 104] mod_fcgid: error reading data from FastCGI server
Apache-Error: [file "util_script.c"] [line 435] [level 19] Premature end of script headers: db.php**
此错误仅在 5.5.9 处于活动状态时出现,并且在我们切换回 5.3.8 后立即消失。这是我们必须继续前进的唯一线索:(
我们也尝试过检查 htaccess 和权限,到目前为止没有任何变化。
谢谢!
【问题讨论】:
那么db.php
脚本有什么作用呢?看来你在那里做坏事。
PHP的错误日志呢?
db.php 脚本只是大型 CMS 的一个组件。我应该补充一点,ISE 500 出现在任何脚本中,即使它只是一个带有 .php 扩展名的空白文件。我包含 fastcgi 错误的唯一原因是因为它是在 5.5.9 处于活动状态时出现的唯一唯一消息。 PHP 日志没有显示任何异常。
PHP-FPM 有自己的日志,启用它并检查它的内容。您是否使用--enable-maintainer-zts
编译了 PHP?使用 php-config --configure
检查是否使用了该配置选项。
会的。我发现了另一个线索。 Plesk 仍然将 vhost 的 php 版本显示为 5.3.8,而它应该是 5.5.9?
【参考方案1】:
问题终于解决了。
在我们的例子中,我们必须将 vhost 的 cgi-bin CHMOD 到 755(它是 775)。之后,顺利运行!
【讨论】:
以上是关于PHP 升级后出现 FastCGI 错误的主要内容,如果未能解决你的问题,请参考以下文章
CGI,FastCGI,PHP-CGI,PHP-FPM,Spawn-FCGI
zabbix 3.2.6+centos 7 +nginx 1.12+ mysql 5.6+ Grafana +php 5.6