我试图使用Ubuntu机器上的Puppeteer和BrowserShot来制作静态HTML并截图。
问题是每次我试着制作和截图:
Screenshot::loadView('monthly_resume.resume')
->waitUntilNetworkIdle(true)
->windowSize(1200, 630)
->noSandbox()
->storeAs($this->pathFor($user), 'image.php');
它返回一个错误。似乎它正确地存储在/tmp
中的一个文件夹下,在这个例子中是tmp/441150534-0230735001662479158/index.html
。
但是,当节点试图找到它时,它说即使它在那里也找不到它。知道节点为什么找不到它吗?
Symfony\Component\Process\Exception\ProcessFailedException
The command "PATH=$PATH:/usr/local/bin:/opt/homebrew/bin NODE_PATH=`npm root -g` node '/home/forge/monse.app/vendor/spatie/browsershot/src/../bin/browser.js' '{"url":"file:\/\/\/tmp\/441150534-0230735001662479158\/index.html","action":"screenshot","options":{"type":"png","path":"\/tmp\/1562301876-0230606001662479158\/BrowsershotOutput1662479158hbgfB.png","args":["--no-sandbox"],"viewport":{"width":1200,"height":630},"displayHeaderFooter":false,"waitUntil":"networkidle0"}}'" failed.
Exit Code: 1(General error)
Working directory: /home/forge/monse.app
Output:
================
Error Output:
================
Error: net::ERR_FILE_NOT_FOUND at file:///tmp/441150534-0230735001662479158/index.html
at navigate (/home/forge/node_modules/puppeteer/lib/cjs/puppeteer/common/Frame.js:225:23)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Frame.goto (/home/forge/node_modules/puppeteer/lib/cjs/puppeteer/common/Frame.js:195:21)
at async Page.goto (/home/forge/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:1143:16)
at async callChrome (/home/forge/monse.app/vendor/spatie/browsershot/bin/browser.js:249:26)
发布于 2022-09-21 16:00:25
我遇到了你收到的准确的错误信息。但我只是改变了临时路径,它就可以正常工作了。顺便说一下,我用的是spatie/browsershot
更改spatie/browsershot
的临时路径
Browsershot::html('some html string')
->setCustomTempPath('/home/your/other/path')
->save('filename.jpg')
https://stackoverflow.com/questions/73625014
复制相似问题