さくらのレンタルサーバーにPHP5.3用のPECLをインストール

Drupal7をいれたときにも書いたのですが、PECL全般に使えそうなので再度まとめです。

さくらのレンタルサーバーはデフォルトのPHPがPHP5.2.17になっています。
コントロールパネルからウェブ領域で動作するPHPのバージョンはPHP5.3.6等に変更することができます。

ですが、コマンドラインで動作するPHPは5.2.17のままなので、PECLを入れるとき若干PHP5.2.17用のものがインストールされてしまうので、PHP5.3用のモジュールをインストールしたときのまとめです。

インストールの準備

モジュールをコンパイルする必要があったり、コンパイルしてできたモジュールをphp.iniで指定したディレクトリに入れる必要があるので、作業ディレクトリとextension用ディレクトリを作成します。

まず、sshでサーバーにターミナルログインして、
[bash]
cd ~
mkdir pecl
mkdir extension
[/bash]
を実行します。
ホームディレクトリに移動して、ディレクトリを2つ作成してます。

PECLモジュールのコンパイル

普通にpeclをインストールすると、サーバー標準のPHP5.2.17のものがインストールされてしまいますので、コマンドを普通に、打つのではなく、usr/local/php/5.3.6/bin/peclを実行します。

作業ディレクトリにモジュールhogehogeのソースを展開します。
[bash]
cd pecl
wget http://pecl.php.net/get/hogehoge
tar zvxf hogehoge-0.0.0.tgz
cd hogehoge-0.0.0
[/bash]

この場合だとhttp://pecl.php.net/からダウンロードしていますが、
[bash]
/usr/local/php/5.3.6/bin/pecl bundle hogehoge
[/bash]
でも問題ないと思います。

そして、
[bash]
/usr/local/php/5.3.6/bin/phpize
./configure –with-php-config=/usr/local/php/5.3.6/bin/php-config
make
make test
[/bash]
を実行します。

make test したときに、
[plain]
PHP : /usr/local/php/5.3.6/bin/php
PHP_VERSION : 5.3.6
[/plain]

とでていれば大丈夫だと思います。
普通に./configureをしてしまうと、5.2.17のものがはいってしまうので要注意です。

その後、modules/の中に、hogehoge.soというファイルが出来ているので、それを先ほど作った~/extensionにコピーします。

php.iniの設定

コントロールパネルの
PHP言語に関する設定->PHP設定の編集からphp.iniの編集ができるので、

[plain]
extension_dir = /home/ユーザー名/extension
extension=hogehoge.so
[/plain]

を書き加えます。
これでPHPエクステンションのディレクトリを設定しています。

以上で、インストールが完了です。
さくらのレンタルサーバーでやりましたが、phpのインストール場所がわかれば、他のサーバーでもできると思います。