0

我正在从 php 页面执行 python 脚本,如下所示:exec("python ./test.py");

如果我没有在其中打开串行端口,该脚本运行良好。但是,如果我这样做了(这就是首先调用 python 脚本的全部意义),该脚本将无法正确执行。

如果我调用一个打印语句的简单 python 脚本 -

print "This works!"

然后我在我的 php 页面中获得所需的输出。但是,如果我打开一个串行端口,我不再得到“This works!”的输出,并且串行数据没有被发送到接收设备 -

import serial
ser = serial.Serial("/dev/ttyACM0",9600)
print "This works!"

这两个脚本都可以从命令行正常运行。

这是一个php限制吗?我尝试过其他执行方法,例如popenand system,但它们也对我不起作用。

4

1 回答 1

2

也许您没有从 Python 执行中获得完整的错误报告。尝试将其添加raise Exception('Boo!')为 Python 程序的第一行,以确定是否存在。如果您没有收到异常和回溯,那么您的程序可能serial.Serial在线失败,但您没有听说过。

于 2012-07-11T02:52:55.393 回答