在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。

描述

使用 laradock 创建并运行的laravel项目。在运行时可以进入 mysql bash 并执行操作。
在访问 laravel 项目时却会报错。
在 phpmyadmin 中可以连接该数据库。

报错截图

在laradock中无法访问到mysql(laravel项目报2002错误)的问题。

在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。

版本信息:

docker: Docker version 18.09.2, build 6247962
mysql: 5.7

配置信息

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root

说明

我看到网上很多人都是把DB_HOST设置成localhost或者是MYSQL版本才发生的错误,而我的配置里已经规避了这两个错误。请问还有可以是什么原因呢?如何解决呢?

补充

现在基本将问题锁定到了配置问题上,.env文件内的数据库配置如上。可报错信息似乎并没有使用.env中的配置。
laradock已经rebuild了,也在修改配置后执行了php artisan config:clear。还是不行。请问这样该如何解决?

在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 6

layadock 这个是啥?

4年前 评论
acldm (楼主) 4年前
mojiajuzi (作者) 4年前
小下

模拟了你的操作,没有遇到你描述的问题

file

4年前 评论
acldm (楼主) 4年前

你截图打印出来的db config和你发出来不一致,检查可能导致配置被替换的代码或命令,
包括不限于config/database.php .env及php artisan optimize

还有可能是opcache导致代码没更新,重启docker或者build一个不装opcache的镜像

4年前 评论

把vendor删掉,重新安装下试试?

4年前 评论
hareluya

感觉是DB配置问题,重做一个新的laravel配下环境看看是否可链接?

4年前 评论

要填容器的ip地址,用docker inspect 容器名可以查看到idadress,把mysql的host换成上面的ip地址即可

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!