PHP FedoraCore4にPHP4のインストール
1. 概要
FedoraCore4にはPHP5.0.4が既にインストールされているが、追加でPHP4をインストールする時のメモ
2. 既存のPHP5の環境
項目 |
説明 |
---|---|
phpコマンドインストールpath |
/usr/bin/php |
PEARディレクトリ |
/usr/share/pear |
3. インストール
- PHPはCLI SAPI/CGI SAPI両方インストールする(Apache用モジュールも)
- 既存のPHP5と今回インストールするPHP4のCLI/CGI版はそれぞれ名前を分けて混乱しないようにする。
3.1 CLI SAPI + Apacheモジュールのインストール
(1) configure- --with-apxs2=/usr/sbin/apxs : Apache用モジュール(libphp4.so)も作成(*1)
- --program-suffix=4 : 生成されるファイルに"4"を付けて、既存のphpファイルと混同しないようにする(例:php4)
- --without-pear : PEARは既存のものを使用するのでインストールしない
# ./configure --with-apxs2=/usr/sbin/apxs --program-suffix=4 --without-pear --with-mysql
(*1) apxsがインストールされていない場合は、httpd-devel.i386にあるのでインストールしておく。(yum install httpd-devel.i386)
(2) make
# make # make install
/usr/local/binにphp4がインストールされる。
(3) php.ini のインストール
# cp php.ini-dist /usr/local/lib/php.ini(4) Apacheのconfigを修正
make installをすると、/etc/httpd/conf/httpd.confに以下の行が自動で追加されてしまうので、一旦削除しておく。(既存のphp5のconfigと競合してしまうため)
LoadModule php4_module /usr/lib/httpd/modules/libphp4.so
3.2 CGI SAPIのインストール
(0) make clean# make clean(1) configure
# ./configure --enable-cgi --program-suffix=4.cgi --without-pear --with-mysql
(2) make
# make # make install
/usr/local/binにphp4.cgiがインストールされる。
4. Config
4.1 PHP4(モジュール動作)への切替え
PHP4をApacheモジュールとして動作させる場合は、既存のPHP5(モジュール動作)とは共存できないので、configの切替えによりPHP5<=>PHP4環境を切替える。
FedoraCore4ではPHPに関する設定は/etc/httpd/conf.d/php.confにある。(以下は抜粋)
FedoraCore4のPHP5関連設定
LoadModule php5_module modules/libphp5.so AddHandler php5-script .php AddType text/html .php DirectoryIndex index.phpこれを以下のようにすれば、PHP4のモジュール動作になる。
LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php DirectoryIndex index.php
4.2 PHP4 - CGI動作の設定
PHP4をCGI動作させる場合は、既存のPHP5と混在が可能。以下ではVirtualHost(ホスト名:phpcgi)を設定して、phpcgiではPHP4(CGI)、それ以外では従来通りPHP5(モジュール)を動作させるようにする。CGI設定の詳細は「PHP CGIでの実行」参照。
# PHP4(CGI)動作用のVirtualHost <VirtualHost *:80> ServerAdmin tomita@xxxxxx.com DocumentRoot /usr/local/www ServerName phpcgi.xxxxxx.com # PHP4 CGI設定 ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/" <Directory /usr/local/www> AddHandler php4-script .php # (*1) Action php4-script /cgi-bin/php Options +ExecCGI +FollowSymLinks </Directory> </VirtualHost>
(*1) Action設定により、.phpファイルへのリクエストは/usr/local/www/cgi-bin/phpへリダイレクトされる。cgi-bin/phpは"ln -s /usr/local/bin/php4.cgi ."のようにして、あらかじめphp4.cgiへのリンクにしておく必要がある。