Python 使用特定库时,脚本不会从 php 执行

Python script won't exec from php when specific library is used

我正在尝试执行 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的..中添加你需要的环境变量路径。你可以设置它们out here