こんにちは。
CakePHP2.4.10をダウンロード後の、「database.php」の設定についてお聞きしたいです。
当方Mac OSX、MAMPを使用しています。データベース管理はphpMyAdminで行っています。
phpMyAdminのユーザを以下のように設定しました。
ユーザ:cakephp
ホスト:localhost
パスワード:はい(任意のものに設定済み)
グローバル特権:USAGE
権限移譲:いいえ
MAMPのhtdocsフォルダ内にcakesのフォルダを移動後、
http://localhost:8888/cakephp/
を見て、エラーを確認すると、
CakePHP is NOT able to connect to the database.
Database connection "Mysql" is missing, or could not be created.
というエラーが出ています。
こちらのサイト(http://eight-smile.com/blog/web/cakephp%E3%82%92 …)では、database.php.defaultの拡張子をdatabase.phpに変更後、
・login
・password
・database
のみを書き換えればよいとのことだったので、
・'login' => 'cakephp'
・'password' => '任意のパスワード'
・'database' => 'mini_bbs'(phpMyAdminでテーブル作成済)
としました。
それでもエラーは消えないです。どうすればよいのでしょうか?お教え下さい。
No.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ドライバーが入ってないという可能性があるからだ。
No.1
- 回答日時:
> CakePHP is NOT able to connect to the database.
これはCakePHPがMySQLを見つけることができない(つまり、接続できた後にユーザー名やパスワードが間違っているわけでもユーザーがデータベースにアクセス権限がないのでもない)のでdatabase.phpを設置する前だったらうなずける動作だ。
> それでもエラーは消えないです。
database.phpを設置したにも関わらず、「同じエラーが出る」のか、「とにかくまだ正常じゃないけどエラーメッセージは変わった」なのかを教えて貰えないか?
それが同じままならdatabase.phpの設置方法が悪い、database.phpの中身を書き換えたけどコメントアウトされている、などが考えられる。
エラーが「認証できません」とか「アクセス権限がありません」とかだったらMySQL側な感じだ。ユーザー名とパスワードの組があっているか、ユーザーcakephpがデータベースmini_bbsを読み書きできるか確認しよう。
この回答への補足
ていねいなご回答、痛み入ります。
database.php設置後は同じエラーが出ます。
ユーザcakephpがデータベースmini_bbsの読み書きができるかどうか、というところが怪しいかもしれません。
なので、「データベースに固有の特権」の項目に「mini_bbs」を追加し、特権をALL PRIVILEGESとしました。
しかし、エラーメッセージは変わらず…。
恐縮ですが、cakephpがmini_bbsへの読み書きが本当にできるようになっているかどうかを確認する方法を教えていただければ幸いです。
ありがとうございます。
php -mコマンドで、拡張モジュールを確認したところ、PDOモジュールは入っていて、「???」となっていました…。
改めてdatabase.phpをFinderで検索してみたところ、内容がデフォルト値に設定されているものを発見しました。
どうやら、違う場所のdatabase.phpをいっしょうけんめい変更していたようです(アホ!)。
しかし、ユーザ設定も違っていたようなので、ご指摘いただいて本当に助かりました。
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 船舶・クルーズ Windows10のエクスプローラにて。 1 2022/10/10 20:11
- Windows 10 プロファイルエラーについて 2 2022/12/16 09:31
- 工学 都市ガスの燃焼速度 3 2022/08/03 12:59
- 確定申告 ICカードリーダー 確定申告 医療費 家族で10万超えると思います おすすめありますか? 5 2022/03/29 07:23
- docomo(ドコモ) 台湾でesimを使ってみたいのですが、簡単に設定できるのでしょうか。 3 2023/04/16 20:41
- その他(パソコン・スマホ・電化製品) Google ドライブのようにXnBay ストレージ サーバのストレージスペースをコンピュータのエク 2 2023/04/28 19:09
- マウス・キーボード Pc切替器が動作しません。理教えてください。よろしくお願いします。 4 2023/05/10 15:43
- Visual Basic(VBA) VBAでのフルパスの取得 1 2022/09/20 22:51
- FX・外国為替取引 トラッキングトレードなどFX自動売買の対策 壱 2 2023/05/13 07:13
- Android(アンドロイド) Pixel 3a のアップデート7月配信は嘘? 1 2022/08/22 11:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントの色を変えるには?
-
「@$変数」の「@の意味は?」
-
トランザクションが原因?DBに...
-
ワードプレスサイト PHP8.0.25...
-
PHPでfatal errorが出ても無視...
-
phpのrenameでエラーが出ます
-
urlの直接入力を防ぐには
-
PHP mb_send_mail メール送信 5...
-
phpでget_headers()が使えない?
-
php7のhtmlentitiesはEUC-JPを...
-
Oracleに接続できません
-
PHPのプログラム内で@pg_execの...
-
CakePHP導入時のデータベース設定
-
bindValueエラー
-
PHPにて外部サイト内容が取得不...
-
パースエラーとは?
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
.phpと.incファイルの違いはな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
パースエラーとは?
-
トランザクションが原因?DBに...
-
PHP8を使うと、大量のWarningが...
-
「@$変数」の「@の意味は?」
-
PHPで、エラーがない場合のみ画...
-
SELECTの値を保持する
-
PHPでfatal errorが出ても無視...
-
正規表現での最後尾のバックス...
-
PHPで特定のURLにジャンプす...
-
PHPでネットワークドライブのop...
-
これは例外処理でしょうか?
-
ワードプレスサイト PHP8.0.25...
-
PHPにて外部サイト内容が取得不...
-
メールアドレスが存在するか確...
-
phpのrenameでエラーが出ます
-
urlの直接入力を防ぐには
-
Localeクラスについて
-
phpでget_headers()が使えない?
-
bindValueエラー
おすすめ情報