Код: Выделить всё
Spatie\Browsershot\Exceptions\CouldNotTakeBrowsershot
For some reason Chrome did not write a file at `/home/mhtechno/public_html/boyscout/Heart_of_Virginia_timeline.pdf`. Command ======= [] Output ======
Код: Выделить всё
$fileName = "{$sanitizedCouncilName}_timeline.pdf";
$filePath = ("/home/mhtechno/public_html/boyscout/{$fileName}");
$pdf = Browsershot::html($pdfHtml)
->noSandbox()
->setOption('executablePath', '/home/mhtechno/.cache/puppeteer/chrome/linux-130.0.6723.116/chrome-linux64/chrome')
->addChromiumArguments(['no-sandbox', 'disable-setuid-sandbox'])
->setOption('printBackground', true)
->setOption('no-stop-slow-script', false)
->setOption('disable-execute-javascript', false)
->setOption('height', '2000mm')
->setOption('headless', true)
->setOption('width', '800mm')
->setOption('dumpio', true)
->useTemporaryDirectory('/tmp')
->timeout(120)
->save($filePath);
Проверка разрешений:
Я подтвердил, что целевой каталог (/home/mhtechno/public_html/boyscout/) имеет права на запись.
Выполнение ls -ld /home/mhtechno/public_html/boyscout/ показывает, что права доступа к каталогу установлены на drwxrwxr-x, а владельцем является mhtechno mhtechno. .
Конфигурация Browsershot:
HTML отображается правильно и передается в Browsershot для создания PDF.
Я использую setOption('executablePath ', '/home/mhtechno/.cache/puppeteer/chrome/linux-130.0.6723.116/chrome-linux64/chrome'), чтобы указать путь к Chrome.
Тестирование с другими каталогами:Я попытался изменить путь к файлу на /tmp/, который является временным каталогом и должен иметь достаточные разрешения. Однако это по-прежнему не работает.
Нет доступа Sudo:
Я нахожусь в среде общего хостинга и не имею root-доступа или доступа sudo, поэтому не могу изменить систему. -общие конфигурации или установите пакеты, такие как libnss3 или другие зависимости.
Проверка phpinfo():
Я подтвердил, что пользователем моего веб-сервера является mhtechno, как показано на странице phpinfo(). .
#Мои вопросы:#
Что может быть причиной того, что Browsershot не может сохранить файл на сервере Linux, когда он работает в Windows?
Есть ли какой-либо сервер конфигурации или разрешения на стороне, которые мне нужно настроить, учитывая, что у меня нет доступа к sudo?
Есть ли определенный параметр среды или зависимость, которую мне может не хватать на сервере Linux?
Есть ли какие-либо известные проблемы с запуском Browsershot в среде общего хостинга?
Буду признателен за любую помощь или предложения по решению этой проблемы.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/791 ... on-windows
Мобильная версия