最新のPHPニュース
PHP4とPHP5を同じポートと拡張子で共存させる方法が紹介されています
Zend Developer Zoneで、PHP4とPHP5をWindows XPのApache上で共存させる方法を紹介した記事が掲載されています。ポートを変更して共存させる方法はよく知られていると思いますが、この記事で紹介されているのは両方とも80番ポートで実行できる、という点で珍しい方法です。
Apacheのバーチャルホストで、CGI版PHPが実行されるように設定することで、同一ポートでPHP4とPHP5を共存させることができるようになります。WindowsのApacheでPHP4がApacheのモジュールとしてインストールされている場合、以下のようにバーチャルホストを定義することで、PHP5をそのバーチャルホストでCGI版ですが、使うことができるようになります。
ServerName php5.localhost
DocumentRoot "d:/apache2/htdocs/php5"
DirectoryIndex index.php index.html index.htm
SetEnv PHPRC d:/php5
ScriptAlias /cgi-bin/ "d:/php5/"
Action php5-script /cgi-bin/php-cgi.exe
AddHandler php5-script .php .html
</VirtualHost>
Windows上で、PHP4とPHP5を共存させ、なおかつ同一ポートでなければならない場合は、非常に有効になる方法です。
また、PHPプロ!ではLinux上でも同じことができるかどうか実験してみました。まず、PHP5がApacheのモジュールとしてインストールされているサーバーに、PHP4をインストールします。
make
make install
そして、Apacheに以下のバーチャルホストを追加します。
ServerName php5.localhost
DocumentRoot "/data/htdocs/"
DirectoryIndex index.php index.html index.htm
ScriptAlias /cgi-bin/ "/data/php/bin/"
Action php4-script /cgi-bin/php
AddHandler php4-script .php .html
</VirtualHost>
上記のようにすることで、php5.localhostのバーチャルホスト上(ポート80番のまま!)では、CGI版PHP4が実行されるようになりました。
拡張子を変更したり、ポートを変更する方法はかなり知られていますが、80番ポート上でPHP4とPHP5を切り替える、というのはあまりなかったので、気になった方はぜひ一度試してみてはどうでしょうか?
関連リンク
この記事へのトラックバックURL
>> ニュースの一覧へ戻る





