SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

違うバージョンのphpを1台のサーバーで使う方法

php4と5、5.2と5.3など、複数のバージョンのphpを1台のサーバーで使う方法。

Apacheのモジュール版(DSO版)でphp4がインストールされているとしたら、CGI版のphp5を用意する。CGI版で複数バージョン対応も可能。
Apacheの設定で、このディレクトリの下はCGI版php5.2、このディレクトリの下はCGI版php5.3のように使い分けることもできる。

やり方は簡単で、configureオプションを次のように変えてCGI版をコンパイル。

CGI版のphpがコンパイルできたら、特定のディレクトリの下や、特定の拡張子などで、CGI版のphpが利用できるように、httpd.conf を編集。

phpは、Apache のモジュール版とCLI版だけかと思っていたら、CGI版も機能が違うものとしてちゃんとあるんですね。CGI版はモジュール版と同じように、ヘッダなどを自動で出力してくれます。CLI版でCGIしようとすると、普通のWebの画面を出すときに、自力でヘッダも出力しないといけないです。

configure オプション例

下記は、古いOSでやったときの例。XML関連やSOAP、XML-RPC、PDOなどいろいろあきらめた例。

 './configure' '--prefix=/usr/local/php/5.3.0' '--enable-bcmath' '--enable-calendar' '--with-curl'  '--with-gd' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr' '--with-gettext' '--enable-mbstring' '--enable-mbregex' '--with-mhash'  '--with-mysql=/usr/local/mysql' '--with-openssl' '--enable-discard-path'  '--enable-sockets'   '--enable-zip' '--with-zlib' 

できればこのくらいやりたかった ↓

 './configure' '--prefix=/usr/local/php/5.3.0' '--enable-bcmath' '--enable-calendar' '--with-curl' '--enable-exif' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr' '--with-gettext' '--enable-mbstring' '--enable-mbregex' '--with-mcrypt' '--with-mhash' '--enable-magic-quotes' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-mysql=/usr/local/mysql' '--with-openssl' '--enable-discard-path' '--with-pear' '--enable-sockets' '--with-ttf' '--with-freetype-dir=/usr' '--enable-gd-native-ttf' '--enable-wddx' '--with-xmlrpc' '--enable-zip' '--with-zlib' '--with-kerberos' '--enable-pdo=shared' '--with-pdo-sqlite=shared' '--with-sqlite=shared' '--with-pdo-mysql=shared,/usr/local/mysql' '--enable-soap' '--with-xsl'

関連するメモ

コメント