大人の事情がいろいろあり、「PHP4で動いているPlesk7.5.4が入っているサーバにPHP5をCGI版としてインストールする」ということがしたい。
まあ、Plesk7.5.4はPHP5でも動くらしいんだけど、ホスティング会社が非推奨だし、あんまり無茶をやると怖いのでCGIとして動かせるようにしようという話。
PHP5にはlibxml2が必要らしいので、先にインストール。
現時点での最新版をいれちゃう。
続いてPHPをインストールしちゃう。
これも最新版の5.2.8を入れるか。
初めてのコンパイルオプションっつうことで必要最低限のものだけ入れてみたけど、まあ問題があるようなら再コンパイルすればいいか。
ちなみに再コンパイルをするときは、
元ファイル以外は全部綺麗サッパリ削除してくれる。
いくつかエラーメッセージっぽいのが出ていたけど、一応最後まで通ったので次へ進む。
まあ、良いか悪いかというと・・・。
php.iniってのは自動で生成されないみたいだから、コピーが必要だぜ。
とりあえずこれもおいおい。
んで、今回は
まずは、コンパイルした実行ファイルを/cgi-binへコピー。
PHP5.2.3移行はCGI版の実行ファイルがphp-cgiになったので注意が必要だ!
で、次に適用したいディレクトリに.htaccessファイルを置くー。
ここで、.php5って拡張子だけPHP5にしたいとかだったら、こんな風に書き換えれば良いだけ。
はい、これでphpinfo()とかで確認して、ちゃんとバージョンが変わっていれば一先ずOK。
いやあ、最新版っつうのは気持ちが良いね。
まあ、Plesk7.5.4はPHP5でも動くらしいんだけど、ホスティング会社が非推奨だし、あんまり無茶をやると怖いのでCGIとして動かせるようにしようという話。
PHP5にはlibxml2が必要らしいので、先にインストール。
現時点での最新版をいれちゃう。
cd /usr/local/src
ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz
tar xvfz libxml2-2.7.2.tar.gz
cd libxml2-2.7.2/
./configure --prefix=/usr/local/libxml2
make
make install続いてPHPをインストールしちゃう。
これも最新版の5.2.8を入れるか。
cd /usr/local/src
wget http://jp2.php.net/get/php-5.2.8.tar.gz/from/jp.php.net/mirror
tar xvfz php-5.2.8.tar.gz
cd php-5.2.8
./configure
--prefix=/usr/local/php5
--with-libxml-dir=/usr/local/libxml2/
--enable-force-cgi-redirect
--with-mysql
--with-png-dir=/usr
--with-png
--with-gd
--enable-gd-native-ttf
--with-iconv
--with-jpeg-dir=/usr
--with-jpeg
--with-zlib=/usr
--enable-mbstring
--enable--zend-multibyte
--with-ttf
make
make install初めてのコンパイルオプションっつうことで必要最低限のものだけ入れてみたけど、まあ問題があるようなら再コンパイルすればいいか。
ちなみに再コンパイルをするときは、
make discleanの後に./configure ...した方が良いらしい。元ファイル以外は全部綺麗サッパリ削除してくれる。
いくつかエラーメッセージっぽいのが出ていたけど、一応最後まで通ったので次へ進む。
まあ、良いか悪いかというと・・・。
php.iniってのは自動で生成されないみたいだから、コピーが必要だぜ。
/usr/local/src/php-5.2.8/php.ini-dist /usr/local/php5/lib/php.iniコピーをしたらいろいろ設定。とりあえずこれもおいおい。
んで、今回は
・特定のディレクトリは.phpという拡張子のファイルはPHP5で、それ以外はPHP4でというルールでいきたいので、それの準備。
・「#!/usr/local/php5/bin/php」みたいなのを、cgiみたいに入れるのは嫌だ
まずは、コンパイルした実行ファイルを/cgi-binへコピー。
PHP5.2.3移行はCGI版の実行ファイルがphp-cgiになったので注意が必要だ!
cp /usr/local/php5/bin/php-cgi path/to/cgi-bin/php5オーナーもrootとかになっていると駄目っぽいので、変えよう。chown hoge.hoge path/to/cgi-bin/php5で、次に適用したいディレクトリに.htaccessファイルを置くー。
Action php5-script /cgi-bin/php5
AddHandler php5-script .php
Options +ExecCGIここで、.php5って拡張子だけPHP5にしたいとかだったら、こんな風に書き換えれば良いだけ。
Action php5-script /cgi-bin/php5
AddHandler php5-script .php5
Options +ExecCGIはい、これでphpinfo()とかで確認して、ちゃんとバージョンが変わっていれば一先ずOK。
いやあ、最新版っつうのは気持ちが良いね。
コメント