CakePHP 2 で MySQL の設定も database.php も間違ってないのにデータベースにつながらない場合に確認すること

ごく一部の人にしか関係ないと思うんだけど、
同じことで困る人がいるかもしれないのでメモ。

問題

CakePHP 2 で、次のような症状に陥って困った。

  • MySQL のユーザーやデータベース、テーブルの設定は間違ってない。
  • database.php も正しく設置してある。
  • 同じサーバで CakePHP 1 のシステムは正常に動いている。
  • なのに Missing Database Connection とおこられる。

こんなエラーでおこられました。

Missing Database Connection
Error: Sqlserver requires a database connection
Error: Confirm you have created the file : app/Config/database.php.

ちゃんと作ってあるのに。

解決

PDO_MYSQL が入ってなかった。

CakePHP 2 からデータベースへのアクセスに PDO を使っているので
これが有効になってないと接続できない。

というわけで、PHP の configure にこのオプションをつけて

--with-pdo-mysql

コンパイルしなおして解決。

誰だよこのサーバ設定したのって思ったら自分だった。

  • このエントリーをはてなブックマークに追加