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 错误的主要内容,如果未能解决你的问题,请参考以下文章

Linux-Nginx解析php相关配置

nginx php-fpm

CGI,FastCGI,PHP-CGI,PHP-FPM,Spawn-FCGI

zabbix 3.2.6+centos 7 +nginx 1.12+ mysql 5.6+ Grafana +php 5.6

502的几种解决方案

php 升级到 7.2(Wordpress/Virtualmin)后出现错误 500