我正在从php页面执行python脚本,如:exec("python ./test.py");
如果我没有在其中打开串行端口,则此脚本可以正常运行。但是,如果我这样做(并且这是首先调用python脚本的全部内容),则脚本无法正常执行。
如果我调用一个打印语句的简单python脚本 -
print "This works!"
然后我在我的php页面中获得所需的输出。 但是,如果我打开一个串口,我不再得到“这个工作!”的输出,并且串口数据没有被发送到接收设备 -
import serial
ser = serial.Serial("/dev/ttyACM0",9600)
print "This works!"
两个脚本都可以从命令行运行。
这是一个php限制吗?我尝试了其他执行方法,例如popen
和system
,但它们也不适用于我。
答案 0 :(得分:2)
也许您没有从Python执行中获得完整的错误报告。尝试添加raise Exception('Boo!')
作为Python程序的第一行,以确定您是否。如果你没有得到异常和追溯,那么你的程序可能会在serial.Serial
行上失败,但是你没有听到它。