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

Laravel Browsershot测试报错:ProcessFailedException异常求助

问题分析与解决

错误核心原因

  1. 路径引号冗余:setNodeBinary和setNpmBinary中添加的单引号会导致Node解析路径出错,系统无法识别带引号的路径。
  2. Windows路径未转义:PHP字符串里的反斜杠\是转义字符,直接写C:\Program Files\nodejs\node会被解析为无效路径,需转义为\\或改用正斜杠/。
  3. NPM路径错误:你将Node的路径当作了NPM的路径,Windows下NPM的可执行文件是npm.cmd,正确路径应为C:\Program Files\nodejs\npm.cmd。
  4. URL缺少协议:www.google.com必须加上https://,否则Browsershot无法发起正确的页面请求。

修正后的代码

Route::get('/test', function () {
    $browser = Browsershot::url('https://www.google.com')
        ->setNodeBinary('C:\\Program Files\\nodejs\\node.exe')
        ->setNpmBinary('C:\\Program Files\\nodejs\\npm.cmd')
        ->bodyHtml();
    dd($browser);
});

额外检查项

  • 确保已全局安装puppeteer:执行npm install puppeteer -g,若本地项目已安装则无需全局,但要保证Browsershot能正常找到它。
  • 检查系统TEMP环境变量:Windows默认TEMP路径为C:\Users\<你的用户名>\AppData\Local\Temp,确认该目录存在且具备读写权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:10:20