linux — запуск сложной команды оболочки ROS через переполнение стека

Я пытаюсь запустить программу оболочки ROS на сервере через php на Ubuntu 14.04. Я пытался использовать система, Exec, shell_exec но ничего не происходит, и я не получаю вывод. Системный вызов выглядит следующим образом:

echo shell_exec("/opt/ros/indigo/bin/rosrun gazebo_ros spawn_model -database Part_A -gazebo -model Part_A");

Каковы ограничения использования система или же Exec запустить любую команду оболочки через php на сервере?

Меня не волнует как вывод команды, так и ее выполнение. Я думаю, что проблема связана с тем фактом, что PHP не имеет никакой PATH, как оболочка, поэтому он не может найти никаких приложений без указания точного местоположения. Как я могу сделать PHP себе такой же оболочка PATH?

3

Решение

Проблема заключалась в том, что пользователь apache и среда, в которой выполняются команды bash, настроены неправильно. Я следовал инструкциям из этого ответ но вместо «источника» я использовал «.» и вместо того, чтобы использовать source.bash файл, который я использовал source.sh файл. Я также установил все переменные окружения, которые были связаны с рос или беседкой, используя PutEnv () функция.

1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector