Puppeteer работает с консоли, но не при вызове из PHP на Cpanel VPS.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Puppeteer работает с консоли, но не при вызове из PHP на Cpanel VPS.

Сообщение Anonymous »

У меня есть сценарий I, который создает PDF-файл с помощью puppeteer, этот сценарий вызывается php-страницей с использованием Shell_exec. Раньше это работало на моем предыдущем сервере, но теперь мой хостинг перенес мой VPS на новую систему (теперь работающую на Cloudlinux 8.10). Я пытаюсь заставить этот скрипт работать снова, но не могу найти решение своей проблемы.
так скрипт вызывается из php-скрипта

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

$html = shell_exec("node " . dirname(__FILE__) . "/pdf.js " . $url . " 2>&1");
А вот как я запускаю браузер в скрипте

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

const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox'] });
const [page] = await browser.pages();
И предыдущий VPS, и этот используют Apache 2.4 и Cpanel (в новом используется версия 122.0.26, не помню какая версия использовалась на старом), и я не не помню, чтобы я делал что-то особенное, чтобы это работало.

Когда я запускаю его с консоли (используя root или другого пользователя), он работает нормально, но когда я запускаю его со страницы php, это не так. и если я проверю вывод, я увижу эту ошибку

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

Failed to launch the browser process! ../../base/allocator/partition_allocator/partition_address_space.cc(49)
Check failed: reserved_base_address_ TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
Я проверил страницу устранения неполадок и поискал в Интернете эту ошибку, но не нашел ничего, что помогло бы (хотя много вопросов без ответа по этой ошибке)
https://github.com/puppeteer/puppeteer/issues/6978
Puppeteer на Centos cPanel: не удалось запустить процесс браузера
https://groups.google.com/g/chromedrive ... 3VoQBZxsJU
https://issues.chromium.org/issues/40185289
Ошибка: не удалось запустить кукловода процесса браузера.
РЕДАКТИРОВАТЬ:
Я попробовал запустить PHP-скрипт с помощью Shell_exec из консоли, и он все еще работает, тем временем я заметил сервер Apache работает с пользователем «никто», возможно, этот пользователь ограничен в возможностях?
РЕДАКТИРОВАТЬ 2:
Я нашел это
https: //github.com/puppeteer/puppeteer/issues/2441
и выполнил эти команды:

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

sudo setfacl -dR -m g:nobody:rX  node_modules/puppeteer/.local-chromium/
sudo setfacl -R -m g:nobody:rX  node_modules/puppeteer/.local-chromium/
Сначала не получилось, но потом я добавил глобальную установку хрома на сервер с помощью

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

yum install chromium-browser
а затем выполнил те же команды, что и выше, в /usr/bin/chromium/browser
Теперь у меня другая ошибка, или лучше просто говорит

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

Failed to launch the browser process!
Без каких-либо подробностей... думаю, это прогресс

Подробнее здесь: https://stackoverflow.com/questions/791 ... cpanel-vps
Ответить

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

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

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

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

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