過去数か月間 vagrant で問題なく使用してきた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"
/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
と呼ばれるphpfpmプール設定は次のようになります。
[vagrant]
listen = /tmp/php5-fpm-vagrant.sock
listen.allowed_clients = 127.0.0.1
user = vagrant
group = vagrant
pm = ondemand
pm.max_children = 50
任意の提案をいただければ幸いです
答えを見つけました、これは https://bugs.php.net/bug.php?id=6706 によって引き起こされました
修正は、次の行をvagrant.conf
phpfpm構成ファイルに追加することでした。
listen.owner = www-data
listen.group = www-data