【Laravel】DB接続がうまくいかない時に確認すること
DB接続がうまくできているか
DB接続がうまくできているかを確認するためには、以下のコマンドでチェックできる。 (接続をチェックするためのコマンドではないのだが)
php artisan migrate:status
これで、テーブルの一覧が出てこずに、コンソールにエラーの旨が出る場合は、接続が失敗している。
うまくいかないときに確認すること
- PHP7.xとmysql8.xの互換性がとれないためエラーを起こす。 mysql8に上がってからデフォルトの認証方法が変わったみたいでエラーを起こす。
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known
- docker-comopseのボリュームが過去に使ったものを参照している
以下で完全に消せる。
docker volume ls
で既存のボリューム一覧を確認することができるので、一度確認をしてみると良い。
docker-compose rm -v docker-compose down -v docker volume prune
- そもそもそのDBに接続できるか
MySQLworkbenchやSequelPro、phpmyadminで接続しようとしているDBに接続できるかを試してみる。