[Laravel挑戦] WebサーバーとDBが繋がらないのはなぜだ

起業準備

migrateができない

Laravelにはコマンドでテーブルが作れる機能が備わっているとかで、database/migrationsフォルダ内のphpでテーブルを作るようになっている。

この機能がうまく動かない。

could not find driver
となる。

CHAT GPTに聞くと、

Laravelでデータベースに接続するには、PDO(PHP Data Objects)拡張が必要です。

と教えてくれた。

ここから迷走した。

徒労の数々

  • pdo_mysqlモジュールを稼働させるためにphp.iniに記載追加して怒られる。
  • macの場合、brewの問題でこうなることがあるらしくHomebrewをアップグレードしてみる。

けど、結局「php -m | grep pdo_mysqlpdo_mysql が表示される」のであれば、問題ないらしい。

もう一度、migrate実行時のエラーメッセージを見てみると、

あれ、could not find driver って書いてない。

飛んだ勘違いをして、時間を浪費していたようだ。orz….

database.php に記載したDB接続のユーザ名に加えてパスワードを設定したらうまく繋がるようになった。

ちなみに、pdo_mysql モジュールは、.envで明示的に定義しなくても、ほとんどの場合問題なく稼働するらしい。。。

教訓

チュートリアルに使っているブログに書いてある通りにエラーが発生すると、同じ内容のエラーだと思い込んでいた。

環境もバージョンも違うから、自分のPC画面で、自分の頭でしっかりと内容を確認する、というごく当たり前で、学生にも言わないような基礎的な姿勢の重要性を再認識したのであった。

コメント

PHP Code Snippets Powered By : XYZScripts.com
タイトルとURLをコピーしました