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

Laravel Sail环境运行Dusk测试时9515端口连接拒绝的解决方法

解决Laravel Sail + Dusk 连接9515端口被拒的问题

核心原因

错误里的localhost:9515是Dusk默认尝试连接ChromeDriver的地址,但在Docker容器内部,localhost指向容器自身,而容器内未启动ChromeDriver,或是Sail环境未配置对应的Chrome服务。

具体修复步骤

1. 完善Sail的Docker Compose配置

打开项目根目录的docker-compose.yml,确认是否包含chrome服务块,没有则添加:

chrome:
    image: selenium/standalone-chrome:latest
    extra_hosts:
        - "host.docker.internal:host-gateway"
    volumes:
        - "/dev/shm:/dev/shm"
    networks:
        - sail

添加后重启Sail:

sail down
sail up -d

2. 修改Dusk测试配置

打开tests/DuskTestCase.php,找到driver方法,将ChromeDriver连接地址改为容器服务名chrome(对应端口为Selenium默认的4444):

protected function driver()
{
    $options = (new ChromeOptions)->addArguments([
        '--disable-gpu',
        '--headless=new',
        '--window-size=1920,1080',
    ]);

    return RemoteWebDriver::create(
        'http://chrome:4444/wd/hub',
        DesiredCapabilities::chrome()->setCapability(
            ChromeOptions::CAPABILITY, $options
        )
    );
}

3. 校准应用URL配置

在.env和.env.dusk.local文件中,确保APP_URL与Sail访问地址一致,例如:

APP_URL=http://localhost

4. 重新执行测试

运行命令:

sail dusk

额外检查项

  • 宿主机默认浏览器为Firefox不影响测试,Docker环境使用的是容器内独立的Chrome服务。
  • 若问题仍存在,检查容器运行状态:
sail ps

确认chrome容器状态为Up。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:52:09