主要问题如题,环境如下:
OS: OS X 10.15.4
Laravel: 7.7.1
下列环境是在 laradock 中
MySQL: 8.0.19
使用搜索引擎搜到过有人出现过相关问题,对应答案有人建议修改.env
配置文件。
我进行测试后,修改配置文件可以影响php artisan migrate
所迁移的数据库,但使用 Eloquent 进行查询时还是提醒 coneection refused,.env
文件中相关配置应该是正确的。
刚开始学习 Laravel,还望各位大神能够点拨一二,提前谢谢了!
1
sleepm 2020-05-15 07:23:41 +08:00 via Android
migrate 应该是用的 workspace 里的 php 执行的
使用模型去查询应该是走的 php-fpm 所以应该是 php-fpm 到 mysql 容器不通 |
2
cnbattle 2020-05-15 08:04:17 +08:00 via Android
.env 里 数据库 host 配置贴下,是容器名吗?
|
3
Dcynsd 2020-05-15 08:37:59 +08:00 1
`.env` 文件 `MYSQL_HOST` 是不是 容器名啊?
|
4
cgpiao 2020-05-15 10:29:54 +08:00
可能是表名的问题,在 model 中设置表名再试试。
laravel 默认使用 model 的复数形式,你如果使用了单数的表名那就连不上。 还有一点如果有多个 schema,那每个 Model 都设置对应的 connection 。 |
5
dilu 2020-05-15 15:39:27 +08:00
host 从 localhost 改成 127
|
6
Sunxy88 OP |
7
cnbattle 2020-05-15 23:46:53 +08:00 via Android 1
看下 mysql 容器名称,把 DB_HOST 改为其名称,
通过 docker-compose 编排的环境,相互访问我都是用对应的容器名,127.0.0.1 会请求本容器,不会请求到对应容器里 |