我正在尝试在 Laravel Vapor Docker Runtime 中运行 Puppeteer 和 Spatie/Browsershot 但出现以下错误
type: 'error',
message: 'socket hang up',
error: Error: socket hang up at connResetException (internal/errors.js:639:14)
at Socket.socketOnEnd (_http_client.js:499:23)
at Socket.emit (events.js:412:35)
at endReadableNT (internal/streams/readable.js:1334:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
{ code: 'ECONNRESET' }
这是我的 Dockerfile
FROM laravelphp/vapor:php80
# Installs latest Chromium (93) package.
RUN apk add --no-cache \
chromium \
nss \
freetype \
harfbuzz \
ca-certificates \
ttf-freefont \
nodejs \
npm
# Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
# Puppeteer v10.2.0 works with Chromium 93.
RUN npm i -g puppeteer@10.2.0
COPY . /var/task
这是我的 Browsershot 代码
Browsershot::url('https://www.test-url.com')
->setNodeBinary(env('NODE_BINARY') ?? '/usr/bin/node')
->setNpmBinary(env('NPM_BINARY') ?? '/usr/bin/npm')
->addChromiumArguments(['no-sandbox', 'disable-setuid-sandbox', 'disable-dev-shm-usage'])
->dismissDialogs()
->setExtraHttpHeaders(['cookie' => request()->header('cookie')])
->format('A4')
->margins('32', '32', '32', '32', 'px')
->waitUntilNetworkIdle()
->pdf();
任何帮助,将不胜感激!