【PHP】MAMPでCakePHPのbakeコマンド実行したらMySQLに接続出来なかった時の対応
久しぶりに記事更新です。 今回はCakePHPについてです。
MacのMAMP環境でbakeコマンドでモデルを作成しようとした際、mysql.sockが No such file or directory となってしまい、MySQLに接続出来ませんでした。
色々調べてみた結果、こちらの記事に解決策が書いてありました。
方法としては、現在生成されているmysql.sockをdatabase.phpに指定してあげるというやり方です。
database.phpに以下のコードを付け足します。
<?php public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'username', 'password' => 'password', 'database' => 'yourdatabase', 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', // ここを付け足す 'encoding' => 'utf8', ); ?>
どうもCakephp2.x系からsocketの指定がデフォルトと違う場合にこのように設定するみたいです。
結構ハマりましたが解決出来て良かったです。
ちなみに、cakeコマンドのschema generateを使うとトレースみたいなことが出来るので、よく分からないエラーが出た時はこれも非常に便利です。以下のように実行します。
$ php cake.php schema generate
今回は以上です。それでは。
参考にさせていただいたサイト
MAMPのcakephpでDBにつながらない « Hello My World MAMP環境でのCakePHPのmysql.sockの指定方法 - 10rane.com