- ベストアンサー
CakePHP導入時のデータベース設定
- CakePHP2.4.10のdatabase.phpの設定についてお聞きします。
- MAMPを使用していますが、エラーが出ています。どうすればよいのでしょうか?
- 以下のサイトを参考に設定を変更してみましたが、エラーは解消されません。どうすればよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
うーん。database.phpを設置したにも関わらず 「CakePHP is NOT able to connect to the database.」 が出るんならやっぱりdatabase.phpの設置ミスか中身のミスかなぁ。 MySQLの待ち受けやポート開放、ならびにPHPにmysql接続機能が入っているかは phpMyAdminが出来ていることから問題ないと思われる。 > cakephpがmini_bbsへの読み書きが本当にできるようになっているかどうかを > 確認する方法を教えていただければ幸いです。 それは普通にphpMyAdminでcakephpユーザでログインしてみればいいです。 少なくとも読み込めるならばログイン後のデータベースツリー一覧に出てきます。 書き込みできるかは実際にCREATE TABLEとかしてみないと駄目かも。 閑話休題。 今ちらっとぐぐってみたらPHPにpdoエクステンションが無い状態もこのエラーが表示されるらしいかも? こちら(「Mac PHP PDO」とかでぐぐるとか)でも情報を集めてみるといいかも。 この辺の説明しとくと、PHPにはMySQLに接続するために主に3つの手段がある。 mysqlエクステンションとmysqliエクステンションとpdo_mysqlドライバーだ。 このうち、phpMyAdminはmysqlエクステンションを用いるので、 上でphpMyAdminで繋げられてるから接続は問題ないはずという根拠は崩れる事になる。 mysqlエクステンションが入っててpdoエクステンションとpdo_mysqlドライバーが入ってないという可能性があるからだ。
その他の回答 (1)
- anmochi
- ベストアンサー率65% (1332/2045)
> CakePHP is NOT able to connect to the database. これはCakePHPがMySQLを見つけることができない(つまり、接続できた後にユーザー名やパスワードが間違っているわけでもユーザーがデータベースにアクセス権限がないのでもない)のでdatabase.phpを設置する前だったらうなずける動作だ。 > それでもエラーは消えないです。 database.phpを設置したにも関わらず、「同じエラーが出る」のか、「とにかくまだ正常じゃないけどエラーメッセージは変わった」なのかを教えて貰えないか? それが同じままならdatabase.phpの設置方法が悪い、database.phpの中身を書き換えたけどコメントアウトされている、などが考えられる。 エラーが「認証できません」とか「アクセス権限がありません」とかだったらMySQL側な感じだ。ユーザー名とパスワードの組があっているか、ユーザーcakephpがデータベースmini_bbsを読み書きできるか確認しよう。
お礼
ありがとうございます。 php -mコマンドで、拡張モジュールを確認したところ、PDOモジュールは入っていて、「???」となっていました…。 改めてdatabase.phpをFinderで検索してみたところ、内容がデフォルト値に設定されているものを発見しました。 どうやら、違う場所のdatabase.phpをいっしょうけんめい変更していたようです(アホ!)。 しかし、ユーザ設定も違っていたようなので、ご指摘いただいて本当に助かりました。 ありがとうございます!
補足
ていねいなご回答、痛み入ります。 database.php設置後は同じエラーが出ます。 ユーザcakephpがデータベースmini_bbsの読み書きができるかどうか、というところが怪しいかもしれません。 なので、「データベースに固有の特権」の項目に「mini_bbs」を追加し、特権をALL PRIVILEGESとしました。 しかし、エラーメッセージは変わらず…。 恐縮ですが、cakephpがmini_bbsへの読み書きが本当にできるようになっているかどうかを確認する方法を教えていただければ幸いです。