FastCGI:与服务器通信…中止:空闲超时(30秒)

我有多个运行WordPress的虚拟网站,但是这个开始抛出错误,我无法find问题。

阿帕奇说:

[Tue Jul 30 14:13:40 2013] [error] [client 82.100.0.70] FastCGI: comm with server "/var/www/uzivatel/www.domena.xy.php5-fcgi" aborted: idle timeout (30 sec) [Tue Jul 30 14:13:40 2013] [error] [client 82.100.0.70] FastCGI: incomplete headers (0 bytes) received from server "/var/www/uzivatel/www.domena.xy.php5-fcgi" 

但是PHP-FPM日志是可以的(它在请求之后的几毫秒内生成):

 - - 30/Jul/2013:14:13:10 +0200 "GET /index.php" 200 /var/www/uzivatel/webs/www.domena.xy/index.php 793.871 35072 37.79/30.23 

有代码200,所以页面似乎被正确创build,但Apache的行为就像从fastcgi服务器没有回应。

但有趣的部分是,当我切断页面生成之前,apache正确地返回到客户端。 但是如果我插入<?php die(); ?> 在标签之后,会发生同样的错误。

有没有办法如何debuggingApache和FastCGI服务器之间的通信?

这里是configuration(相同的configuration适用于其他虚拟networking):

 <VirtualHost 1.2.3.4:80> ServerName www.domena.xy DocumentRoot /var/www/uzivatel/webs/www.domena.xy/ FastCgiExternalServer /var/www/uzivatel/www.domena.xy.php5-fcgi -socket /tmp/php-fpm/php-www.domena.xy.socket -pass-header Authorization Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/uzivatel/www.domena.xy.php5-fcgi AddHandler php5-fcgi .php <Directory "/var/www/uzivatel/webs/www.domena.xy/"> Options ExecCGI FollowSymLinks Order Allow,Deny Allow From all </Directory> </VirtualHost> <VirtualHost 1.2.3.4:80> ServerName domena.xy RedirectPermanent / http://www.domena.xy/ </VirtualHost> 

和PHP-FPM:

 [www.domena.xy] user = uzivatel group = uzivatel listen = /tmp/php-fpm/php-www.domena.xy.socket listen.owner = uzivatel listen.group = uzivatel listen.mode = 0660 pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 300s pm.max_requests = 1000 access.log = /var/www/uzivatel/.log/$pool.php-fpm.log access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C/%{user}C" slowlog = log/$pool.log.slow ;request_slowlog_timeout = 0 request_terminate_timeout = 600 rlimit_files = 500 security.limit_extensions = .php .php3 .php4 .php5 php_admin_value[memory_limit] = 64M php_admin_value[open_basedir] = /var/www/uzivatel/.tmp/:/var/www/uzivatel/webs/www.domena.xy/ php_admin_value[upload_tmp_dir] = /var/www/uzivatel/.tmp/ php_value[session.save_path] = /var/www/uzivatel/.sessions/www.domena.xy/ 

在Apache vhostconfiguration中,尝试添加-idle-timeout参数:

FastCgiExternalServer /var/www/uzivatel/www.domena.xy.php5-fcgi -idle-timeout 60 -socket /tmp/php-fpm/php-www.domena.xy.socket -pass-header Authorization

有关详细信息,请参阅文档 。

Apache可能具有文件访问权限来写入套接字文件/tmp/php-fpm/php-www.domena.xy.socket ,但不能读取它。

(注意重复权限和PHP-FOM:虽然PHP-FPM服务器/var/www/uzivatel/www.domena.xy.php5-fcgi不必作为文件存在,其包含的目录必须存在,Apache必须具有读/写权限。)