我正在从 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 的限制吗?我尝试过其他执行方法,例如 popen
和 system
,但它们对我也不起作用。
最佳答案
也许您没有从 Python 执行中获得完整的错误报告。尝试添加 raise Exception('Boo!')
作为您的 Python 程序的第一行,看看您是否是。如果您没有得到异常和回溯,那么您的程序可能在 serial.Serial
行失败,但您没有听到它。
关于PHP 没有正确执行 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11424848/