解决PHP在命令行调用python脚本访问树莓派串口,而使用浏览器运行PHP调用脚本失败的问题

  1. 问题:
    PHP在命令行运行命令php test.php,在test.php中使用函数exec()调用python脚本,该python脚本可以将PHP数据传输到树莓派串口。
    而使用浏览器访问test.php,只能执行一部分python脚本,经过测试,发现到串口的代码就停止了。

  2. 查询原因:
    因为exec()方法中只有信息码的参数值,并没有错误信息的返回值,所以无法查看错误信息。
    经过上网查询,发现有一种方法可以查看PHP中system()、exec()输出的错误信息。
    只需要在exec()方法的第一个参数字符串内,加上2>&1即可。
    由此获得错误信息为:因为串口文件的权限不够,导致我作为浏览器的普通用户不能访问到树莓派的串口文件/dev/ttyS0.

  3. 解决方法:
    树莓派使用root用户,在命令行中输入:sudo chmod 777 /dev/ttyS0即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值