新たな案件の開発環境を準備しなくちゃなんなくて
でも、新たにさーばを用意出来なかったので、
php5.3.13を使っているApache配下で別バージョンを使用する。
今回追加したのは5.2.17


・以前から使っているモジュール版PHPには影響なし。
・CGI版を、apxsを指定しないでコンパイルする。
・インストールディレクトリを /usr/local/lib/php-5.2.17 のようにバージョンごとに用意するとわかりやすく複数バージョンに対応しやすい。
・使いたいバージョンを .htaccess 内に記述することで、ディレクトリごとにバージョン指定する。
・httpd.conf内で指定することで、バーチャルホストごとや、ディレクトリごとに指定できる。

と簡単に言うとこんな感じ。

まずはソースを持ってきて展開し、configure。

$ tar zxvf php-5.2.17.tar.gz
$ cd php-5.2.17
 
$ ./configure  --prefix=/usr/local/lib/php-5.2.17 \
--with-config-file-path=/usr/local/lib/php-5.2.17 \
--enable-force-cgi-redirect \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-track-vars --enable-mbregex \
--with-mysql=/usr/local/mysql

configureの際に–with-apxs2=/usr/local/apache2/bin/apxsを付けない事が重要。
その他オプションは適宜追加・削除する。

問題なければmakeしましょ。

make
make install

あとは以下のとおり。

■php-cgi を cgi-bin に設置する

php-cgiバイナリをコピーして使う。 ファイル名は適当に命名する。

 
$ cp /usr/local/lib/php-5.2.17/bin/php-cgi /export/home/piyopiyo/cgi-bin/php-5.2.17
 

■httpd.confでActionを設定する

/usr/local/apache/conf/httpd.conf
バーチャルホストを使っている場合は、内側に使いたいverを書けば複数使い分ける。
元のバージョンを使いたい場合は記述なし。

Action php-script-5.2.17 /cgi-bin/php-5.2.17

■.htaccessを使ってPHPバージョンを指定する場合

public_html/foo/.htaccess

 
AddHandler php-script-5.2.17 .php
 

■httpd.confを使ってPHPバージョンを指定する場合

/usr/local/apache/conf/httpd.conf
バーチャルホストを使っている場合は、内で指定する。

Actionを設定する

 
Action php-script-5.2.17 /cgi-bin/php-5.2.17
 

ディレクトリごとにバージョンを指定する

 
AddHandler php-script-5.2.17 .php