次のlaravelのチュートリアルコラムでは、Windows dockerを使用してphpコンテナを実行する際にLaravelがデータベースに接続できない問題を解決する方法を紹介します。 mysql コンテナーが必要な場合に役立つことを願っています。友達が助けてくれます。
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 $*"
を実行し、コマンドを phpartisan *
最新の 5 つの Laravel ビデオチュートリアル
以上がWindows dockerを使用してphpコンテナとmysqlコンテナを実行するときにLaravelがデータベースに接続できない問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。