通过php运行复杂的ROS shell命令

时间:2016-02-03 12:57:41

标签: php linux apache shell ros

我正在尝试通过Ubuntu 14.04上的php在服务器上运行ROS shell程序。我尝试使用系统 exec shell_exec ,但没有任何反应,我也没有得到任何输出。系统调用如下:

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

使用系统 exec 在服务器上通过php运行任何shell命令有什么限制?

我并不关心命令的输出和执行的命令。我认为问题与PHP没有像shell这样的任何PATH的事实有关,所以如果没有指定确切的位置它就找不到任何应用程序。如何让PHP与PATH shell相同?

1 个答案:

答案 0 :(得分:1)

问题是apache用户和运行bash命令的环境未正确设置。我按照answer的说明进行操作,但不使用“来源”,而是使用“。”而不是使用 source.bash 文件我使用 source.sh 文件。我还使用 putenv()函数设置了与ros或gazebo有关的所有环境变量。