我正在使用本地web服务器(LAMP)。
当运行带有参数“”的shell_exec/exec/system时/脚本.pypassed_arg[1]passed_arg[2]“没有返回值,并且不会发生任何事情。在
我通过chmod777消除了权限,无法读取的文件(readdir()返回true)。在
我消除了Apache配置问题(php.ini文件禁用函数没有shell_exec/exec,也没有打开safemode)。在
当尝试运行一个不同的脚本打印hello时,一切正常。在
我觉得是剧本内容的问题。
我在ROS中使用了一个catkin工作区,但是即使将脚本复制到/var/www/html/中,它也不起作用(在终端中运行相同的命令非常有效)。在
当注释掉所有ros命令(特别是“import rospy”)时,它是有效的(不管剩下什么)。在
脚本内容:#!/usr/bin/env python
## Simple talker demo that published std_msgs/Strings messages
## to the 'chatter' topic
import sys
import rospy
from std_msgs.msg import String
def talker():
X_Coordinate = float(sys.argv[1])
Y_Coordinate = float(sys.argv[2])
Guest_First_Name = sys.argv[3]
Guest_Last_Name = sys.argv[4]
Office_Name = sys.argv[5]
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(10)
hello_str = "go_to "+ str(X_Coordinate)+" "+str(Y_Coordinate)+" "+Guest_First_Name+" "+Office_Name
rospy.loginfo(hello_str)
pub.publish(hello_str)
rate.sleep()
if __name__ == '__main__':
try:
talker()
except rospy.ROSInterruptException:
pass