Я пытаюсь выполнить скрипт Python, чтобы получить и установить сервер параметров в ROS. Когда я запускаю любой другой простой скрипт на python, который, например, печатает «Hello», я возвращаю значение в PHP. Но когда я запускаю этот код:
#!/usr/bin/env python
import roslib
import rospy
import sys
import re
import string
get = rospy.get_param("param")
print get
Я получаю пустое эхо. Однако этот код прекрасно работает в терминале!
Все, что я делаю в PHP, это:
$output = exec("python path/script.py")
echo $output;
Я пробовал shell_exec, пробовал с python в команде, и без. Я также попробовал / usr / bin / python, но он не будет работать для этого конкретного кода, но все работает для простой печати!
Оказывается, что у пользователя Apache нет необходимых переменных среды. Таким образом, вы должны добавить пути переменных среды, которые вам нужны, в Apache. Вы можете установить их прочь
Других решений пока нет …