こんにちは。CakePHP(とガンダム)を勉強中のエンジニアの庄子です。
MAMP上にインストールしたCakePHPのbakeコマンドがエラーになってしまう現象でハマってしまったのでブログネタにします。
そういえば、dアニメで初代ガンダムの放送が終了してしまいました。まだ15話までしか見てなかったんですが…。これはバンダイチャンネル契約するしか!
環境
Mac OS X 10.9.5
MAMP 3.0.4 (MySQL 5.5.10)
CakePHP 2.4.10
エラー内容
CakePHPの初期画面はオールグリーン。データベース設定も完了し、cookbookのチュートリアルもちゃんと動く。
さてデータベースに新規テーブル作って画面作ってみるかーと思い、bakeコマンドを実行したところ、なぜかエラー。。。
「Database connection “Mysql” is missing, or could not be created.」
エラーメッセージ的にはどう考えてもDB関連エラー。CakePHPからMySQLへの接続が問題ないことは、設定画面がオールグリーンだしアプリが動いていることからも明らか。ということは、ターミナルでbakeコマンドからMySQLを見に行く方法がWebからのそれとは異なるということ。
・・・そこまで頭で理解してたのに、ググって色々調べて試して、ネットの情報試しているうちに問題の本質から外れていきました。悪い癖です。
解決
…やってしまいました。MacちゃんにはMAMP以外にもデフォルトでPHPがインストールされているんだった。
MacデフォルトのPHPをリネームし、MAMPのPHPをパスに追加。
これでbakeコマンド実行してみる。
いけました。このままControllerの作成完了しました。いやーお恥ずかしい。でも誰かの役にたつかもしれないのでネタにしちゃいます!
それでは。