在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。
描述
使用 laradock 创建并运行的laravel项目。在运行时可以进入 mysql bash 并执行操作。
在访问 laravel 项目时却会报错。
在 phpmyadmin 中可以连接该数据库。
报错截图


版本信息:
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。还是不行。请问这样该如何解决?

关于 LearnKu
layadock这个是啥?模拟了你的操作,没有遇到你描述的问题
你截图打印出来的db config和你发出来不一致,检查可能导致配置被替换的代码或命令,
包括不限于config/database.php .env及php artisan optimize
还有可能是opcache导致代码没更新,重启docker或者build一个不装opcache的镜像
把vendor删掉,重新安装下试试?
感觉是DB配置问题,重做一个新的laravel配下环境看看是否可链接?
要填容器的ip地址,用docker inspect 容器名可以查看到idadress,把mysql的host换成上面的ip地址即可