Как выполнить команду, установленную с помощью команды `npm` в PHP, используя` exec () `? - PullRequest
0 голосов
/ 24 августа 2018

В PHP, работающем на Ubuntu, я могу запустить exec('npm -v'), и результат хороший, но я не могу бежать exec('gitbook xxxx').

gitbook - это пакет npm, который я установил

npm install gitbook -g

Я могу запустить gitbook xxxx в терминале Ubuntu, как я могу запустить его из своего кода PHP?

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Если вы запускаете php по nginx или apache (например, посетите url example.com/index.php), иногда вам нужно экспортировать PATH

exec("export PATH=/usr/local/bin && gitbook build);

после того, как ядобавлен экспорт PATH, все отлично работает.

0 голосов
/ 24 августа 2018

Я однажды попробовал вот так на ОС UNIX:

Вы можете запускать команды оболочки через функцию exec():

// создаем php-файл для запуска сценария оболочки

exec("node yourscript.js &", $output);

Выходные данные здесь становятся массивом каждой строки вывода вместе с идентификатором процесса. Вы также можете убить процесс с помощью processid.

exec("kill " . $processid);

Так я и сделал. Кроме этого, вы можете использовать узел супервизора. Надеюсь, это поможет вам. Попробуйте также с помощью команды узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...