仕事上PHP3とPHP4を同居構築しなくちゃならなくなったのでその構築時の覚書など。 バージョンはPHP4.0.5,PHP3.0.18-i18n-ja-2。使用するRDBMSはPostgreSQL。 ApacheはDSO対応で既に構築されているのものとする(自分はVineのRPMを使用)。 PostgreSQLも既に構築されているものとする。
まずはPHP本家のページよりPHP4.0.5を入手。 必要があればPHP国際化版のページより PHP3.0.18-i18n-ja-2を入手。
次にPHP4で日本語を扱う為に jstringと MultiByte正規表現を取得。
適当な場所で
tar xzvf php-4.0.5.tar.gz
などとし、PHP4のソースを展開。
次に
cd php-4.0.5/ext
などとして移動し、その場所で
tar xzvf php4_jstring-1.1.1.tar.gz
tar xzvf php4_mbregex-1.2.1.tar.gz
などとして、日本語用の拡張部分を展開。その後に
cd ..
rm configure
./buildconf
./configure --with-pgsql --enable-track-vars --with-apxs=/usr/sbin/apxs --enable-versioning --enable-jstring --enable-mbregex --without-mysql
make
make install
などとしてPHP4のmakeとinstallを行う。ここで重要なのは--enable-versioning。これを入れ忘れると PHP3との同居不可。その他のconfigureオプションは適宜調整の事。その後に
cp php.ini-dist /usr/local/lib/php.ini
としてiniファイルのコピーを行う。 あとはhttpd.confに
LoadModule php4_module modules/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php4 .php
を適切な位置に追加する。
次に適当なディレクトリで
tar xzvf PHP3.0.18-i18n-ja-2.tar.gz
としてPHP3のアーカイブを展開して
cd PHP3.0.18-i18n-ja-2
./configure --with-pgsql --with-apache=/usr/sbin/ --enable-track-vars --with-apxs=/usr/sbin/apxs --enable-i18n --enable-mbregex --enable-versioning
make
make install
などとしてPHP3をmakeとinstallを行う。ここでも重要なのは--enable-versioning。 既にPHP3が構築されてる環境でも上記のconfigureオプションを付けて構築していない場合は これを付けて再構築する必要がある。その他のconfigureオプションは適宜調整する事。
その後にhttpd.confに
LoadModule php3_module modules/libphp3.so
AddModule mod_php3.c
AddType application/x-httpd-php3 .php3 .phtml
を追加する。
その他、必要があればhttpd.confのDirectoryIndexに.php,.phtmlなどを追加する。
ここまででPHP3,4の同居構築が完了しているはずなのでApacheを再起動しテスト用の コードを実行してみてきちんと実行されるかどうかを確認。OKならば構築終了。 お疲れ様でした。