Rut*_*kar 8 php laravel docker
我在laravel 8中创建了一个新的laravel项目。我已经正确设置了Sail安装,本地数据库连接一切正常,但是当我尝试使用sail连接我的数据库时,它给了我一个错误
SQLSTATE[HY000] [2002] 连接被拒绝(SQL: select * from information_schema.tables where table_schema = laravel8 and table_name = migrations and table_type = 'BASE TABLE')
我已经清除了我的配置和缓存文件。
小智 26
在cmd上运行这个命令
docker network inspect bridge
Run Code Online (Sandbox Code Playgroud)
您将得到类似(类似)的响应:
[
{
"Name": "bridge",
"Id": "695c284c7b184839edf97d48161922dfe6c4827d0db917c3278f5634af7e00e2",
"Created": "2022-02-22T22:17:30.8583513Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
.....
}
Run Code Online (Sandbox Code Playgroud)
]
复制“ Gateway
” IP 地址并替换为文件DB_HOST
中的值.env
。会起作用的
小智 22
我正在研究同样的问题并发现了这一点。
https://github.com/laravel/sail/blob/1.x/src/SailServiceProvider.php#L31
代码显示了由 laravel 帆添加的 artisan 命令 -sail:install
它用服务名称覆盖您的 .env 文件主机变量。
我DB_HOST
从127.0.0.1
改为mysql
并已修复
小智 15
如果你想在不同的端口运行 mysql,例如 3307,如下所示
ports:
- 3307:3306
Run Code Online (Sandbox Code Playgroud)
您应该像这样将 FORWARD_DB_PORT 环境变量添加到 .env 文件中
DB_PORT=3306 // this is for container port
FORWARD_DB_PORT=3307 // this is for local port
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4187 次 |
最近记录: |