Solarisに複数のPHPをインストールする

現在、Apacheのモジュール版としてPHP 5.2.5 が動作している。

このSolarisに PHP 5.3.2 と PHP 5.3.6 をCGI版としてインストールする。

 

・現在動作しているモジュール版の動作には影響を与えない。

・CGI版は、apxsを指定しないでコンパイルすればよい。

・インストールディレクトリを /usr/local/lib/php-5.3.2 のようにバージョンごとに用意する。

・使いたいPHPバージョンを .htaccess 内に記述することで、ディレクトリごとにバージョン指定する。

・または、httpd.conf内で指定することで、バーチャルホストごとや、ディレクトリごとに指定できる。

 

■CGI版としてインストールする。

・apxsを指定しないでこと。

・インストールディレクトリを–prefixで指定する。(コンフィグファイルの場所は、PREFIX/libとなる)

PHP 5.3.2  /usr/local/lib/php-5.3.2

PHP 5.3.6  /usr/local/lib/php-5.3.6

$ ./configure --prefix=/usr/local/lib/php-5.3.2
$ make
# make install

 

■php.iniを設置する

development か production を選んでphp.iniにリネームして使う。

# cp /usr/local/src/php-5.3.2/php.ini-development /usr/local/lib/php-5.3.2/lib/php.ini

 

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

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

# cp /usr/local/lib/php-5.3.2/bin/php-cgi /export/home/foo/cgi-bin/php-5.3.2

 

■httpd.confでActionを設定する

/usr/local/apache/conf/httpd.conf

バーチャルホストを使っている場合は、<VirtualHost *:80>内に書けばよい。

Action php-script-5.3.2 /cgi-bin/php-5.3.2
Action php-script-5.3.6 /cgi-bin/php-5.3.6

 

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

public_html/foo/.htaccess

AddHandler php-script-5.3.2 .php 

 

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

/usr/local/apache/conf/httpd.conf

バーチャルホストを使っている場合は、<VirtualHost *:80>内で指定する。

<VirtualHost *:80>

# Actionを設定する
Action php-script-5.3.2 /cgi-bin/php-5.3.2
Action php-script-5.3.6 /cgi-bin/php-5.3.6

# ディレクトリごとにバージョンを指定する
<Location /foo>
  AddHandler php-script-5.3.2 .php
</Location>

<Location /bar>
  AddHandler php-script-5.3.6 .php
</Location>

</VirtualHost>