로컬 웹 서버 (LAMP)를 사용하고 있습니다. "/script.py passed_arg [1] passed_arg [2]"매개 변수를 사용하여 shell_exec/exec/system을 실행할 때 반환 값이 없으며 아무 것도 발생하지 않습니다.PHP에서 python 스크립트를 실행할 수 없습니다
chmod 777을 사용하여 사용 권한을 제거 했으므로 읽을 수없는 파일 (readdir()이 다시 나타납니다).
php.ini disable_functions에는 shell_exec/exec가없고 safemode가 설정되지 않았습니다.
안녕하세요 모든 것을 올바르게 인쇄하는 다른 스크립트를 실행하려고 할 때.
스크립트 내용에 문제가 있다고 생각합니다. ROS에서 catkin 작업 공간을 사용하고 있지만/var/www/html /에 스크립트를 복사 할 때에도 (터미널에서 똑같은 명령을 실행해도 문제가 없습니다) 작동하지 않습니다.
모든 ros 명령 (특히 '가져 오기 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
스크립트를 실행하는 PHP 코드는 어디에 있습니까? –
/var/www/html/ 위의 스크립트를 보유하고있는 동일한 디렉토리 –
파이썬 스크립트를 호출하는 데 사용중인 PHP 코드를 _show_ 사용해야한다는 의미입니다. Btw, 더 중요한 것은 명령 줄에서 호출 할 때 파이썬 스크립트가 작동합니까 아니면 동일한 문제가 있습니까? –