我试图通过Ubuntu14.04上的php在服务器上运行一个ROS shell程序。我尝试过使用system、exec、shell_exec,但是什么也没有发生,也没有得到任何输出。系统调用如下:
echo shell_exec("/opt/ros/indigo/bin/rosrun gazebo_ros spawn_model -database Part_A -gazebo -model Part_A");使用system或exec在服务器上通过php运行任何shell命令的限制是什么?
我不关心命令的输出,而是它的执行。我认为这个问题与PHP没有像shell一样的路径有关,所以如果不指定确切的位置,它就找不到任何应用程序。如何使PHP成为相同的路径shell?
发布于 2016-02-05 07:15:26
问题是,apache用户和运行bash命令的环境没有正确设置。我遵循了这个answer的说明,但没有使用“源代码”,而是使用了“我使用”。而不是使用source.bash文件,而是使用source.sh文件。我还使用putenv()函数设置了与ros或gazebo相关的所有环境变量。
https://stackoverflow.com/questions/35177754
复制相似问题