Laravel Dusk无法连接本地端口9515问题求助(macOS环境)
解决最新macOS下Laravel Dusk无法连接本地ChromeDriver的问题
针对你遇到的Laravel Dusk无法连接localhost:9515(ChromeDriver端口)但远程服务器正常的情况,试试以下方案:
1. 验证ChromeDriver版本与权限
- 确认Chrome浏览器版本,下载完全匹配的ChromeDriver(比如Chrome 118对应ChromeDriver 118.0.5993.70)
- 替换项目中Dusk的ChromeDriver文件:
vendor/laravel/dusk/bin/chromedriver-mac - 手动启动ChromeDriver测试:
如果出现权限报错,打开「系统设置-隐私与安全性」,找到ChromeDriver的拦截提示,点击「允许」;或者用命令签名:cd vendor/laravel/dusk/bin ./chromedriver-mac --port=9515codesign --force --deep --sign - ./chromedriver-mac
2. 修改Dusk驱动配置
在app/Providers/DuskServiceProvider.php中自定义驱动,指定ChromeDriver路径或端口:
<?php namespace App\Providers; use Laravel\Dusk\DuskServiceProvider as ServiceProvider; use Facebook\WebDriver\Chrome\ChromeOptions; use Facebook\WebDriver\Remote\DesiredCapabilities; use Facebook\WebDriver\Remote\RemoteWebDriver; class DuskServiceProvider extends ServiceProvider { protected function driver() { $chromeOptions = (new ChromeOptions)->addArguments([ '--window-size=1920,1080', '--disable-gpu', '--no-sandbox', // 新增沙箱禁用参数,适配macOS权限 ]); // 手动指定ChromeDriver路径(如果默认路径有问题) // $driverPath = base_path('vendor/laravel/dusk/bin/chromedriver-mac'); // putenv("webdriver.chrome.driver={$driverPath}"); return RemoteWebDriver::create( 'http://127.0.0.1:9515', // 用127.0.0.1代替localhost DesiredCapabilities::chrome()->setCapability( ChromeOptions::CAPABILITY, $chromeOptions ) ); } }
3. 排查系统网络与防火墙设置
- 暂时关闭macOS防火墙,测试Dusk是否能连接
- 关闭本地代理工具(如Charles、Clash等),避免拦截localhost请求
- 检查
/etc/hosts文件,确保127.0.0.1 localhost的映射存在
4. 更换ChromeDriver端口
如果9515端口被占用或系统拦截,换个端口测试:
- 手动启动ChromeDriver在新端口:
./chromedriver-mac --port=9516 - 修改Dusk配置中的连接地址为
http://127.0.0.1:9516
内容的提问来源于stack exchange,提问作者wq9578
相关产品推荐
相关产品推荐

