ホームページ > PHPフレームワーク > Laravel > Windows dockerを使用してphpコンテナとmysqlコンテナを実行するときにLaravelがデータベースに接続できない問題を解決する

Windows dockerを使用してphpコンテナとmysqlコンテナを実行するときにLaravelがデータベースに接続できない問題を解決する

藏色散人
リリース: 2021-03-22 08:58:07
転載
3069 人が閲覧しました

次のlaravelのチュートリアルコラムでは、Windows dockerを使用してphpコンテナを実行する際にLaravelがデータベースに接続できない問題を解決する方法を紹介します。 mysql コンテナーが必要な場合に役立つことを願っています。友達が助けてくれます。

Windows dockerを使用してphpコンテナとmysqlコンテナを実行するときにLaravelがデータベースに接続できない問題を解決する

問題

Laravel プロジェクトが Windows Docker を使用して php コンテナーと mysql コンテナーを実行する場合、php を実行します。 Windows git bash アルティザン 移行でデータベースが見つからないことがわかりました。

エラー メッセージ:

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: 未知  (SQL: select * from ***)

  at E:\project\vendor\laravel\framework\src\Illuminate\Database\Connection.php:669
    665|         // If an exception occurs when attempting to run a query, we'll format the error
    666|         // message to include the bindings with SQL, which will make this exception a
    667|         // lot more helpful to the developer instead of just the database's errors.
    668|         catch (Exception $e) {
  > 669|             throw new QueryException(
    670|                 $query, $this->prepareBindings($bindings), $e    671|             );
    672|         }
    673|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: 知 ")
      E:\project\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("PDO::__construct(): php_network_getaddresses: getaddrinfo failed: 知 ")
      E:\project\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27

  Please use the argument -v to see more details.
ログイン後にコピー

原因

Windows で php 職人移行を実行すると、コンテナ内の mysql を実行できません。 Connected

##解決策

シェル コマンドを書き換えて php 職人コマンドをカプセル化し、次のようにコンテナを作成した後に php 職人を実行します。

#phpartisan ファイルの内容
#!/usr/bin/env sh

# 进入容器 执行相应php artisan命令

docker exec -i 容器名称 sh -c "cd /项目的容器路径 && php artisan $*"
ログイン後にコピー

php Artisan *

を実行し、コマンドを phpartisan *

推奨事項に置き換えます。 :
最新の 5 つの Laravel ビデオチュートリアル

以上がWindows dockerを使用してphpコンテナとmysqlコンテナを実行するときにLaravelがデータベースに接続できない問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート