Я пытаюсь выполнить скрипт 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 .. Вы можете установить их здесь