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のインストール場所がわかれば、他のサーバーでもできると思います。