我有一个用于 Debian wheezy 的虚拟机基础盒,我一直在使用它流浪汉在过去的几个月里没有任何问题,但是昨天当我启动一台新机器并更新/升级软件包时,我开始收到 FastCGI 服务器连接失败错误:
[Wed Jun 04 14:39:03 2014] [error] [client 10.0.2.2] (13)Permission denied: FastCGI: failed to connect to server "/vagrant/php5-fcgi": connect() failed
[Wed Jun 04 14:39:03 2014] [error] [client 10.0.2.2] FastCGI: incomplete headers (0 bytes) received from server "/vagrant/php5-fcgi"
我可以通过手动触摸和 chmodding 暂时解决这个问题/tmp/php5-fpm-vagrant.sock
,但我的问题是为什么它会突然发生?
抛开个人喜好,我的配置在功能上是否存在问题?:
在我的 Apache 站点中,有一个名为的文件,000php
其中包含:
FastCgiExternalServer /vagrant/php5-fcgi -socket /tmp/php5-fpm-vagrant.sock -pass-header Authorization
由于 apache 按字母顺序加载站点,因此始终首先加载此文件,然后我有另一个包含vagrant
以下内容的文件:
<VirtualHost *:80 *:8080>
DocumentRoot /vagrant/public_html/
ServerName vagrant.localhost
<Directory /vagrant/>
AllowOverride all
</Directory>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /vagrant/php5-fcgi
ErrorLog ${APACHE_LOG_DIR}/vagrant_error.log
CustomLog ${APACHE_LOG_DIR}/vagrant_access.log combined
</VirtualHost>
并且一个名为 php fpm 池配置vagrant.conf
如下所示:
[vagrant]
listen = /tmp/php5-fpm-vagrant.sock
listen.allowed_clients = 127.0.0.1
user = vagrant
group = vagrant
pm = ondemand
pm.max_children = 50
任何建议将不胜感激
答案1
找到答案了,这是由于https://bugs.php.net/bug.php?id=67060
解决方法是将以下几行添加到我的vagrant.conf
php fpm 配置文件中。
listen.owner = www-data
listen.group = www-data