使っているレンタルサーバーは php4 用のPECL::SQLite はインストールされているものの、コマンドラインツールはインストールされてない。sqlite3 はあるのに。コマンドラインツールはやっぱりあると便利なので、インストールしておく。でも root 権限はないので、prefix は適当に。
% wget http://www.sqlite.org/sqlite-2.8.17.tar.gz % tar xvfz sqlite-2.8.17.tar.gz % mkdir bld; cd bld % ../sqlite-2.8.17/configure --prefix=/home/[user-name]/local --enable-utf8 % gmake % gmake install
さて、php のコードからどのように sqlite2 を使うかだが、いくつかの方法があるようだ。
- PECL::SQLite
速度的には一番ヨイ気がする。でも、sqlite_*() なんてAPIなので、ラッパー書かないと。 - PEAR::DB
DB抽象化レイヤ。ずいぶん昔からあるような気が。。。重いのを気にする人が多いみたい。 - PEAR::MDB2
PEAR::DB をリフレッシュするために開発されたものらしい。
となると、MDB2 を試してみてよさげだったらそれを使う。微妙だったら PECL::SQLite を適度にラップする関数なりクラスなり作る、という感じだろうか。
でも、本当は sqlite3 使いたかったので、PEACL::PDO ( The PHP Data Objects ) + PECL::PDO_SQLITE を使ってみたい。DB抽象化レイヤを PECL で実現しているモノらしい。速度的にもよさそう。でも php5 から〜。