Jam*_*ise 49 php apache mod-fcgid
我在PHP上遇到问题我的应用程序试图运行php备份文件并突然获得HTTP Error 500 Code.我检查了日志,这就是它的意思.
[2012年8月28日14:17:28] [警告] [客户端xxxx](104)通过对等方重置连接:mod_fcgid:从FastCGI服务器读取数据时出错,参考资料:http://example.com/backup/backup.php
[Tue Aug 28 14:17:28 2012] [error] [client xxxx]脚本标题的提前结束:backup.php,referer:http://example.com/backup/backup.php
谁知道如何解决这个问题?我真的被困在这里,无法在互联网上找到解决方案.
希望有人可以分享他们的知识.
谢谢.詹姆士
Jam*_*ise 28
我设法通过添加FcgidBusyTimeout来解决这个问题.以防万一有人和我有类似的问题.
这是我在apache.conf上的设置:
<VirtualHost *:80>
.......
<IfModule mod_fcgid.c>
FcgidBusyTimeout 3600
</IfModule>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
Oli*_*der 12
我在Apache2日志文件中有非常类似的错误:
(104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
Premature end of script headers: phpinfo.php
Run Code Online (Sandbox Code Playgroud)
检查包装器脚本和Apache2设置后,我意识到/ var/www /没有一致的权限.因此根本无法读取FCGId Wrapper脚本.
ls -la /var/www
drwxrws--- 5 www-data www-data 4096 Oct 7 11:17 .
Run Code Online (Sandbox Code Playgroud)
chmod -o+rx /var/www当然,我的场景是必需的,因为使用过的SuExec用户不是www-data用户组的成员- 当然,出于安全原因,他们不应该是成员.
小智 5
如果要安装 PHP 版本 < 5.3.0,则必须替换
--enable-cgi
Run Code Online (Sandbox Code Playgroud)
和:
--enable-fastcgi
Run Code Online (Sandbox Code Playgroud)
在您的./configure声明中,摘自 php.net 文档:
--enable-fastcgi
Run Code Online (Sandbox Code Playgroud)
如果启用此功能,CGI 模块也将在支持 FastCGI 的情况下构建。自 PHP 4.3.0 起可用
从 PHP 5.3.0 开始,此参数不再存在,而是由 --enable-cgi 启用。编译后./php-cgi -v应该是这样的:
PHP 5.2.17 (cgi-fcgi) (built: Jul 9 2013 18:28:12)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
Run Code Online (Sandbox Code Playgroud)
注意 (cgi-fcgi)