【问题标题】:Running complicated ROS shell command through php通过 php 运行复杂的 ROS shell 命令
【发布时间】:2016-05-12 16:35:53
【问题描述】:

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

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

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

我并不关心命令的输出,而是关心它的执行。我认为问题与 PHP 没有像 shell 那样的任何 PATH 的事实有关,因此如果不指定确切位置,它就无法找到任何应​​用程序。如何使 PHP 与 PATH shell 相同?

【问题讨论】:

标签: php linux apache shell ros


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多