You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PhpStorm Database Tools访问Docker中Laravel Sail的数据库?

在PhpStorm Database Tools中连接Laravel Sail的PostgreSQL数据库

1. 确认数据库端口映射信息

Laravel Sail会将容器内的数据库端口转发到主机端口,先确认具体端口:

  • 运行终端命令查看容器端口映射:
    sail ps
    
    在输出的pgsql服务行中,PORTS列会显示类似0.0.0.0:5432->5432/tcp,其中冒号前的5432就是主机的映射端口。
  • 或者直接查看项目根目录的.env文件,找到FORWARD_DB_PORT配置项,其值就是主机端口(默认是5432)。

2. 配置PhpStorm数据库连接

  • 打开PhpStorm的Database工具面板,先删除所有旧的残留连接(避免干扰)。
  • 新建PostgreSQL连接,填写以下信息:
    • Host: localhost
    • Port: 刚才查到的主机端口(比如默认5432)
    • Database: .env文件中的DB_DATABASE值(默认是laravel)
    • User: .env文件中的DB_USERNAME值(默认是sail)
    • Password: .env文件中的DB_PASSWORD值(默认是password)
  • 点击「Test Connection」测试连接,成功后保存配置。

3. 解决连接失败的额外排查点

如果测试连接仍失败:

  • 检查主机防火墙是否允许该端口的入站连接,必要时临时关闭防火墙测试。
  • 重启Sail服务确保容器正常运行:
    sail down && sail up -d
    
  • 验证数据库本身是否可用,进入容器执行命令:
    sail exec pgsql psql -U sail laravel
    
    若能正常进入数据库交互界面,说明数据库服务无问题。

4. 清理PhpStorm缓存解决表列表异常

如果连接成功后仍显示旧的表列表:

  • 按Ctrl+Shift+A(Windows/Linux)或Cmd+Shift+A(Mac)打开快速搜索框,输入「Invalidate Caches...」。
  • 选择「Invalidate and Restart」,等待PhpStorm重启后重新加载数据库连接,旧的残留内容会被清除。

内容的提问来源于stack exchange,提问作者vbulash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:48:29