解决Laravel使用Windows docker运行php容器及mysql容器时,连不起数据库问题
时间:2021-03-22 来源:互联网
今天PHP爱好者给大家带来
下面由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爱好者其它相关文章!
相关阅读更多 +
-
qq朋友网登录入口-qq朋友网网页版一键登录 2026-02-01 -
刘梗宏女孩是什么梗?揭秘网络爆火健身主播的魔性口号与粉丝狂欢现象,看完秒懂! 2026-02-01 -
啵乐漫画app最新版本下载-啵乐漫画官方安装包免费下载 2026-02-01 -
Freeok免费追剧app下载安装-Freeok免费追剧软件官方版本 2026-02-01 -
哔哩哔哩漫画网页版官方入口-哔哩哔哩漫画官网一键直达 2026-02-01 -
七夕漫画官方下载入口安卓最新版-七夕漫画官方下载入口免费安装包 2026-02-01
最近更新