Узел CLI PowerBI: нет такого файла или каталога

5

Я пытаюсь создать PHP wrapper для PowerBI. Я установил PowerBI Cli (https://github.com/Microsoft/PowerBI-Cli) на свой локальный компьютер, и когда я запускаю любую команду PowerBI Cli на моем терминале, она работает хорошо. Он работает хорошо, даже когда я запускаю команды с помощью пользователя _www (sudo -u _www powerbi config)

Однако, когда я запускаю их через PHP с помощью shell_exec или Symphony Process Component (https://symfony.com/doc/current/components/process.html), я получив следующее исключение:

env: node: No such file or directory.

Я столкнулся с этой проблемой на Mac Sierra. Команды хорошо работают на Linux, используя PHP exec()

  • 0
    звучит как проблема «$ PATH». Возможно ли, что ваши PHP-среды выполняются от имени другого пользователя, чем вы обычно используете? например, потому что вы 'sudo' -ing?
  • 0
    Среда PHP выполняется как пользователь _www . Странно то, что когда я запускаю команду как пользователь _www из терминала, она работает хорошо. Однако, это не тот случай, если я запускаю его через PHP.
Теги:
powerbi
macos-sierra

2 ответа

2

Попробуйте ссылка,

"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.

  • 0
    Не работает Здесь все так странно.
  • 0
    Если вы предоставите свой оригинальный путь, чтобы я мог проверить это на моей стороне.
1

Попробуйте использовать полный путь, а не команду. Не зная вашего точного пути, я не могу точно сказать, что делать, но это будет примерно так:

$output = shell_exec("sudo -u _www /path/path/powerbi config");
var_dump($output);

Edit:

Или сначала смените каталоги. Поэтому, используя мой пример выше, это будет:

$output = shell_exec("cd /path/path/powerbi; sudo -u _www powerbi config");
  • 0
    Да, именно так я и использую. Не повезло с этим.
  • 0
    Вы пытались сначала изменить каталоги, а затем запустить его? Я отредактировал свой ответ, попробовав еще одну попытку.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню