laravel8からmysql接続時にエラー 「php_network_getaddresses: getaddrinfo failed: Name or service not known」

投稿者:

こんにちは。ねこぐらしです。
皆さん私の技術ブログにようこそ!
契約者様が躓いていたので、アドバイスとしてメッセージではなく、記事にしてエラーの懸念点を洗い出します。

エラー予想を立てる

まず、エラー内容を見ましょう。
英語が読めない人はGoogle検索に頼りましょう。

php_network_getaddresses:getaddrinfoが失敗しました:名前またはサービスが不明です

google 翻訳

getaddrinfo failed=アドレス取得に失敗した
ということです。
なんとなくですが、データベースとの接続設定が間違っているとこのようなエラーになるそうです。

状況確認

今回の場合、コード確認とphpmyadminを使用して設定が間違っていないか確認します。
とりあえずLaravelの「.env」ファイルを確認してみることにしましょう。

Laravelの「.env」ファイルを確認

僕の環境では以下のようになっています。

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

あとphpmyadminの確認をしましょう。
僕の場合、http://localhost:8081/にアクセスするとphpmyadminが開けます。

サーバ:【DB_HOST】
ユーザ名:【DB_USERNAME】
パスワード:【DB_PASSWORD】
を入れて実行ボタンを押してログインしましょう。

僕の場合は、
サーバ:mysql
ユーザ名:default
パスワード:secret
でしたので、ログインしましょう。

ログインしたら、次の確認をしましょう。

phpmyadminでデータベースの確認

ログインすると以下のような画面が表示されます。

確認することは、Laravelの「.env」ファイルに書いてある【DB_DATABASE】があるか確認します。

僕の場合はあるので、以下のように表示されます。

とりあえず一旦の確認事項は以上です。

解決することを願っています。

最後に

エンジニアはエラーから色々なことを得ています。
1つずつエラーを解決していきましょう。
ちなみに本業だと簡単に治るものは基本ありません。
簡単なものだと思っても、2~4週間かかることもあります。
時間がかかることに慣れていきましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です