我有一个Debian wheezy的虚拟机基础盒,我在过去几个月里一直使用vagrant而没有任何问题,但昨天我提出了一台新机器并更新/升级了我开始使用的软件包获取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"
我可以通过手动触摸和修改/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>
和一个名为vagrant.conf
的php fpm池配置如下所示:
[vagrant]
listen = /tmp/php5-fpm-vagrant.sock
listen.allowed_clients = 127.0.0.1
user = vagrant
group = vagrant
pm = ondemand
pm.max_children = 50
任何建议都将不胜感激
答案 0 :(得分:1)
找出答案,这是由https://bugs.php.net/bug.php?id=67060
引起的修复是将以下行添加到我的vagrant.conf
php fpm配置文件并重新启动php fpm,重新加载是不够的
listen.owner = www-data
listen.group = www-data
listen.mode = 0660