mod_php を利用すると複数バージョンのphpを同時に使えない。
現在の状況
1つのシステムに複数のWebサーバーがあり、それぞれ異なるバージョンのapache, phpで運用されている。
(中には、異なるphpを同時に使うために、cgiとして利用している箇所もある。)
で、今考えているのは、
「この環境で開発の仕事をすることになったら、どんな開発環境を用意したらいいか?」
おそらくVirtualBox 上のcentosで作業することになると思うが、複数のvirtulbox環境を用意して、複数の仮想サーバーを起動するような環境は作りたくない。
思いついた方法は以下の3つ。
(1) 複数のapacheを起動させて異なるバージョンのphpを用意する。
(2) fpsを利用してfastcgiモジュールでapacheと連携させる。
(3) lxcで複数のcentosコンテナを用意して本運用を模したwebサーバー(apacheとphpのセット)を用意する。
結論としては、(3)で複数サーバーを用意することにする。
コンテナ型といっても、一応仮想サーバーなので、本番環境に一番近いものが作れそうだから。
(1)は、リソースの無駄使いのような気がするけど、結構、現実的な解決策かも (lxcよりはリーズナブル)
(2)は、かなりいけてる気がする。メモリの使用量にもよるが本番環境の改善策として提案してもいいんじゃないかと思う。
まぁ、開発環境なので、とりあえずlxc を利用してみる。
できたら、本番環境の改善策に反映できればいいかな。
(2)に関しての有用そうなリンクを残しておく。
Running PHP on Apache httpd
apache2.4 mod_proxy_fcgi を利用
apache2.2 mod_fcgid (オフィシャルモジュール)、mod_fastcgi
php-buildで複数バージョンのPHP-FPMを用意する
nginxでの設定例だが、fpm,phpenvのあたりはそのまま使えそう。
php-fpm.org
php5.2はパッチが用意されている。(5.1は?)
fpmじゃないけど
Running PHP scripts in uWSGI