nightmare — xvfb-run работает в оболочке, но не при запуске из команды php exec ()

Я пытаюсь заставить nightmarejs работать на моем сервере centos и смог сделать это, запустив xvfb-run, однако мне нужно вызвать эту команду через функцию php exec ().

когда я делаю, я просто получаю пустой результат, как будто он не работает?

Когда я запускаю его через командную строку (т.е. узел xvfb-run my-script.js), все отлично работает. Есть идеи, почему он не работает или не доступен для моего php-скрипта?

1

Решение

Хорошо, я понял это. По сути, доступ к sudo должен быть предоставлен для xvfb-run, чтобы вызвать его через исполняемый скрипт в php. Для этого войдите в терминал и сделайте следующее:

# sudo visudo

Убедитесь, что группа колес не закомментирована

%wheel  ALL=(ALL)       ALL

Это означает, что пользователи, добавленные в группу wheel, будут иметь доступ к командам вызова sudo.

В нижней части файла предоставьте пользователю доступ к сценарию.

YOUR_USER ALL = NOPASSWD: /usr/bin/xvfb-run

Сохраните свой файл и добавьте своего пользователя в группу wheel

usermod -aG wheel YOUR_USER

наконец, из вашего php-скрипта теперь вы можете вызвать xvfb-run через sudo

<?php exec('sudo xvfb-run node my-script.js'); ?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]