Снимок браузера в Laravel не сохраняет PDF на сервере Linux (работает в Windows)Linux

Ответить
Anonymous
 Снимок браузера в Laravel не сохраняет PDF на сервере Linux (работает в Windows)

Сообщение Anonymous »

Я использую пакет Browsershot в приложении Laravel для создания и сохранения PDF-файлов. Этот процесс отлично работает на моем локальном компьютере с Windows, но когда я пытаюсь запустить то же приложение на моем общем сервере под управлением Linux, PDF-файл не сохраняется, и я получаю следующую ошибку:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»