下面由laravel教學欄位介紹解決Laravel使用Windows docker運行php容器及mysql容器時,連不起資料庫的方法,希望對需要的朋友有幫助!
Laravel 專案使用Windows docker 執行php 容器及mysql 容器時, 在windows git bash 執行php artisan migrate 發現找不到資料庫。
錯誤訊息:
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 artisan migrate 時連不到容器裡的mysql
重新寫一個shell 指令封裝一下php artisan 指令, 進行容器後執行php artisan 如下:
phpartisan 檔案內容
#!/usr/bin/env sh # 进入容器 执行相应php artisan命令 docker exec -i 容器名称 sh -c "cd /项目的容器路径 && php artisan $*"
執行php artisan *
指令換成phpartisan *
即可
##推薦:#
以上是解決Laravel使用Windows docker運行php容器及mysql容器時,連不起資料庫問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!