Я пытаюсь построить PHP
обертка для PowerBI
, Я установил PowerBI Cli
(https://github.com/Microsoft/PowerBI-Cli) на моем локальном компьютере, и когда я запускаю любую команду PowerBI Cli на своем терминале, она работает хорошо. Это работает хорошо, даже когда я запускаю команды, используя _www
пользователь (sudo -u _www powerbi config
)
Тем не менее, когда я запускаю их через PHP
используя либо shell_exec
или же Symphony's Process Component
(https://symfony.com/doc/current/components/process.html), Я получаю следующее исключение:
env: node: No such file or directory.
Я сталкиваюсь с этой проблемой на Mac Sierra
, Команды хорошо работают на Linux
используя PHP exec()
Пытаться соединение,
"ln -s /path/where/command/is stored/ /to/path/where u want to exec/"
Иногда программа хранится в usr/local/bin/program
Между тем, по умолчанию вы выполняете в usr/bin/program
А затем в оболочке используйте новый путь, который вы установили.
Пример для соединения предположим, если у вас есть путь для команды,
/usr/bin/powerbi
затем с помощью вышеуказанной команды вы можете связать новый путь usr/powerbi
после этого вы можете использовать новый путь в команде exec или shell.
Попробуйте использовать полный путь, а не команду. Не зная вашего точного пути, я не могу сказать вам точно, что делать, но это было бы что-то вроде этого:
$output = shell_exec("sudo -u _www /path/path/powerbi config");
var_dump($output);
Редактировать:
Или сначала измените каталоги. Таким образом, используя мой пример выше, это будет:
$output = shell_exec("cd /path/path/powerbi; sudo -u _www powerbi config");