特殊な拡張子でphp-fpm + Apacheを使う
都合上php5.4とphp5.6を併用して運用する必要が出てきたのでメモ。なかなか動かなくて苦労しました。
実行環境
- php5.4
- Apacheモジュール版で実行。古くから使ってる環境。
- php5.6
- 自前でコンパイルしたもの。fastcgi + php-fpmで実行。
Apacheの設定
fastcgi.confの内容。
FastCgiWrapper Off ScriptAlias /fcgi-bin/ /var/www/fcgi-bin/ FastCgiExternalServer /var/www/fcgi-bin/php-fpm -host 127.0.0.1:9019 -pass-header Authorization AddHandler php-fastcgi .php56 Action php-fastcgi /fcgi-bin/php-fpm AddType application/x-httpd-php .php56
ここでひっかかったのが、 FastCgiWrapper Off にするというもの。Onになっているとnot foundとなって動いてくれない。
php-fpmの設定
とりあえず大事なところだけピックアップ。
listen = 127.0.0.1:9019 security.limit_extensions = .php56
security.limit_extensions で指定しないと Access deniedとなってスクリプトが実行できない。
php-fpmの起動
-yで設定を指定することにより、いろんな設定のphp-fpmを起動することができます。
/php56/install/path/sbin/phpfpm —y /phpfpm/config/dir/php-fpm.conf