さくらインターネットではphpのextensionが標準では使えない。phpinfo()で指定されているextension-dirを覗いても何の拡張も入っていない。PHPで書かれているPEARよりも高速に動くextensionを使わない手はない。
ネットを色々探してみても、さくらインターネットでextension拡張を使う方法が書かれたサイトがなく、特に難しくもないので、まとめてみた。
PHP EXTENSIONってなに?という方は、PHP Extensionを作ろう第1回(KLAB)がわかりやすくて便利。
今回はJSONファイルをエンコード&デコードして使えるphp-jsonを例に、さくらインターネットでextensionを使う方法を書いていく。
前提
スタンダードプラン・・・telnetが使えることが前提です。
方法
まずは該当するextensionファイルをダウンロードしましょう。
wget http://www.aurore.net/projects/php-json/php-json-ext-1.1.1.tar.bz2
tar jsf php-json-ext-1.1.1.tar.bz2 -c $HOME/local/src
次にコンパイル
./configure –prefix=$HOME/local
そして、できたMakeファイルの各種パスを根こそぎ書き換えます。
標準では、/usr/local/src となっていますが、/home/user/local/srcに変更します。
vi Makefile
あとは、makeして、make install するのみです。
make
make install
最後に、/home/user/www/php.iniファイルに以下の記述を加えて終了です。
extension-dir = 設定したパス(私は/home/user/local/lib/php/extension/)
extension=json.so
これだけです。
jsonを例にすると、PEAR:JSON と extensionであるphp-jsonの処理速度を比べると体感で10倍以上早いです。自分で作ったextensionを設置するもよし、高速extensionを使わない手はありません。