2012年02月17日

鍵山雛
■くるくるー
今週はイラスト更新以外特に何もしてないねぇ。
■WordPress+sqliteの続き
WordPress3が失敗するのは一番最初にテーブル作成に失敗するせいだが、2で作成してからあとで3にバージョンアップすればいいのでは?
と思って試してみたら…。劇重。動かないことはないが、とにかく重い。つか動いたり動かなかったり。
いや、これは動かないと思った方がいいね。ということでやっぱり3はダメ、ということで。
■今日のon定点観測
23時50分現在、残り24個。お、一気に減ったねぇ。
■sqliteを使いたい
ということで標準のデータベースがMySQLのWordPressにsqliteを実装してみました。探してみるといろんなサイトがありますね。
必要なもの
WordPress2.9.2
PDO for WordPress
この2つ。
作業は3つ。
1.まず両方解凍してPDO for WordPressにある
pdoフォルダ、db.php、readme.txt(どっちでもいい)のフォルダとファイルををwp-content直下に入れる。
2.wp-contentフォルダにdatabaseフォルダを作成。パーミッションを707(777)にしておく。

folder
3.wp-config-sample.phpをコピペしてwp-config.phpを作成。そこの
/** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */
define(‘DB_COLLATE’, ”);
の箇所の次の行に
define(‘DB_TYPE’, ‘sqlite’);//mysql or sqlite
を追加。せっかくなので認証用ユニークキーを変更しておきましょう。

modify
以上。簡単でした。
これ、WordPress3が出てるのになぜ旧バージョンの2を使っているかというと、3で試したらデータベースにテーブルが作成できずにエラーが出たから。3になって構成が変わったんでしょうねぇ。2で動くのでとりあえず終了ということで。
sqliteの編集ツールはやっぱりtksqlite。WordPressのデータベースを直接いじることはほとんどないけどね。
2011年07月17日
■SQLite3
現バージョン(1.3.10)のCakePHPではSQLite3に対応してないみたいですねぇ。SQLite2で作成したデータベースは認識するけど、3は認識しない。次期バージョンの2.0(現状はアルファ版)では対応してる感じだけど。
できれば新しいほうの3を使いたい!
てなワケで使えるようにしましょう!やり方はいたって簡単。
まずは以下からCakePHP Datasourcesをダウンロード。現在のバージョンは0.2。
github:https://github.com/cakephp/datasources
解凍してmodels/datasources/以下のファイルをapp/models/datasourcesにコピー。
最後にdatabase.phpでデータベースの設定を
‘driver’=>’sqlite3′
としてやれば、SQLite3を使い倒すことができます!幸せ!
これでデータベースに書き込みが出来ない場合は、データベースのパーミッションが書込み禁止になっている可能性アリ。606になっているか確認!自分が読み込めるのに挿入や更新できねーなぁ、と思っていたらコレでした(汗
2011年07月14日
■半日がかり
かーかーりましたねェー、SQLite。動かすまでに一苦労。
MySQLと違って、データベースのサーバを用意する必要が無くデータベースを格納するファイル1つだけ。サーバの引越しとかでも設定いらずですぐ動いてくれる軽快さ。
AndroidにもSQLiteが入ってるそう。
ということでちょっと使ってみようと思ったワケです。が。簡単なDB作ってCakePHPで試しに入れてみたが、これがさっぱり認識してくれない。

データベースエラー
いくらごにょごにょイジってもなんともならんから、sqlite_open(‘test.db’)とだけ打ち込んだファイルを作って開いてみると反応なし。エラーログを見ると
[Thu Jul 14 14:14:39 2011] [error] [client XXX.XXX.XXX.XXX] PHP Fatal error: Call to undefined function sqlite_open() in /var/www/test.php on line 3
sqlite_open関数が未定義になってやんの。
つまりこれ、サーバにSQLiteが入ってないということ?

phpinfo
Fedora13では、パッケージでphpをインストールするとsqliteはwitohout、入ってないの。
自前で入れろってことですか。ですね。
1.以下からサーバに入ってるバージョンのPHPをダウンロード。
php本家:
http://www.php.net/downloads.php
2.サーバに放り込んで解凍して、/ext/sqlite のディレクトリに入る。
tar zxvf php-5.3.6.tar.gz
cd php-5.3.6/ext/sqlite
3.なんかごちゃごちゃする。何しているか実のところよく分かっていない。
phpize
./configure
make
make install
この4工程を入力すればインストール完了。
/extに入ってるPHPの拡張モジュールは、とりあえず馬鹿の一つ覚えのようにこの4つのコマンドを打ち込めばインストールできる、みたい。
4./etc/php.dフォルダにsqlite.iniファイルを新規作成してextension=sqlite.soを記述。
5.最後にapache再起動。
/etc/rc.d/init.d/httpd restart

データベースOK

SQLite確認
めでたく入りましたぁ!
この方法の欠点は、PHPのバージョンが上がってしまうと、その都度同じ作業をしないといけなくなるらしい。
5.3.6よりバージョンがあがったら、また検証してみましょう。
今回、こちらのサイトを参考にさせていただきました。
肉とご飯と甘いもの:
http://d.hatena.ne.jp/sotarok/20080607/php_5_with_sqlite