くまきち

山と旅と家族が大事。
でも激しい物欲が理性と財布のタガを飛ばす
最近は自転車も乗ってる

[CakePHP] DB つながんない

2013-01-10 20:09:06 | SEまわり
CakePHP。

ずっと 1.x 系を使っていたけど、ようやく 2.2.4 を使ってみた。
細かいところで使い勝手がよくなってるなあと思った。

サンプル的になんか動かしてみるかと、適当にDB作って動かしてみた。
が、database.php に正しい接続情報をセットしていても、以下のメッセージが出てつながらなかった。

  
Cake is NOT able to connect to the database.
Database connection "Postgres" is missing, or could not be created.


原因は、PostgreSQL の PDO ドライバが入ってなかったこと。

確認は、下記操作。

  
$ php -i | grep PDO
PDO
PDO support => enabled
PDO drivers =>

どうして入ってないのか原因を追いかけると、PHP の configure 時に --with-pdo-pgsql=shared と、shared 指定をしながら、実際には実行時に使うようにもしてなかったため。

改めて、shared を外してコンパイルして、確認。

  
# php -i | grep PDO
PDO
PDO support => enabled
PDO drivers => pgsql, sqlite
PDO Driver for PostgreSQL => enabled
PDO Driver for SQLite 3.x => enabled



解決。


ちなみに、shared にしといて実行時に組み込むにはどうしたらいいんだろう。
php.ini を見ると、Windows の場合は extension DLL をロードしているみたいだけど、*NIX の場合は?



最新の画像もっと見る