さくらインターネットとxamppでPHPからSQLite3を使う

SQLiteでCREATE TABLEしてもどうもDEFAULR CURRENT_TIMESTAMPがきかないんでおかしいなーと思ってたら、CURRENT_TIMESTAMPはSQLite2ではサポートしてないそうです。そうなのか。じゃあSQLite3でやればいいじゃないと思ったんだけど、さくらインターネットの場合普通にSQLiteDatabaseとか使って接続するとSQLite2になっちゃう。じゃあどうするかっていうと…まぁ、PDO使えば良いんですね。SQLite3目的じゃなくても普通に使うと思いますけども。

さくらインターネットの場合
PDOを使って接続する


一方でローカル環境にxamppを入れてSQLiteを使用する場合、デフォルトではPDOを使用しない設定になっていてPDOを使っても「ドライバーが見つかりません」というエラーが出ます。なので、SQLite3を使用する場合にはphp.iniを以下のように変更してやる必要があります。

;extension=php_pdo_sqlite.dll
 ↓
extension=php_pdo_sqlite.dll

こうすることで、PDOを使ったときにはSQLite3を使用するようになります。

xamppの場合
php.iniを変更してPDO_SQLiteを有効にした上で、PDOを使って接続する


なるほどねー
ようやくなんかすっきりしました。

しかしおかげでせっかく作ったコードをだいぶ書き直しだな、こりゃ。やれやれ。



参考

さくらインターネットのレンタルサーバ | 大人電話相談室
xamppliteでSQLite3を使う方法。 – require_twice