У меня есть скрипт узла, который преобразует веб-страницу в документ PDF.Пользователь вводит некоторый контент, а PHP создает HTML-страницу, которая затем используется в скрипте узла (который запускает Puppeteer, используя слегка измененную версию пример скрипта ) для преобразования его в PDF.
Но когда я exec в PHP вводит команду для запуска скрипта узла, происходит сбой со следующей ошибкой:
(node:14832) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
[0424/165455.239499:ERROR:icu_util.cc(133)] Invalid file descriptor to ICU data received.
[0424/165455.239717:FATAL:content_main_delegate.cc(53)] Check failed: false.
#0 0x55f27f255b0c base::debug::StackTrace::StackTrace()
#1 0x55f27f26e780 logging::LogMessage::~LogMessage()
#2 0x55f27d5f7d23 content::ContentMainDelegate::TerminateForFatalInitializationError()
#3 0x55f27ef90deb content::ContentMainRunnerImpl::Initialize()
#4 0x55f27ef9ab72 service_manager::Main()
#5 0x55f27ef8ff14 content::ContentMain()
#6 0x55f28309f9b9 headless::(anonymous namespace)::RunContentMain()
#7 0x55f28309fa42 headless::HeadlessBrowserMain()
#8 0x55f27ef97f9d headless::HeadlessShellMain()
#9 0x55f27d5f61ac ChromeMain
#10 0x7efcaad45c05 __libc_start_main
#11 0x55f27d5f602a _start
PHP работает с пользователем apache
.Однако, если я запускаю тот же скрипт со своим пользователем, он работает отлично.Когда я выполняю в терминале, используя su - apache -c 'node ...'
, он снова выдает ошибку, описанную выше.
Что вызывает ошибку?Что-то связано с разрешениями пользователя apache?Я следовал всем инструкциям по устранению неполадок, но в данный момент мне не повезло.