从 PHP 应用程序中的 /dev/tty 端口读取数据失败,读取错误


Reading data from /dev/tty port in PHP application fails to error reading

我有一个连接到tty端口的USB IR模块,我可以很好地从/向它读取/写入数据。

现在我正在尝试运行一个从该端口读取数据的 PHP 应用程序,但由于某种原因,我在 Apache 上的 PHP 脚本似乎无法读取串行端口。我收到投诉"访问错误"用户(www-data(有权访问拨号组(在/etc/group 中(:

...
dialout:x:20:jlumme,www-data
...
如果我切换到www-data

用户(su www-data(,我能够从它所在的同一文件夹(与PHP脚本相同的文件夹(成功运行该程序。对 tty 的访问权限也应该没问题:

>ls -l /dev/tty
...
crw-rw---- 1 root dialout 166, 0 2012-05-03 19:10 ttyACM0
...

我不知道该尝试什么..

尝试:

<?php
system('whoami');
?>

以查看脚本是否作为 www-data 运行。

看起来我所要做的就是重新启动 linux 板,现在它工作正常。我不确定之前出了什么问题,也许重新启动 Apache 可以解决问题。

无论如何,只要确保适当的用户权限可以访问/dev/tty 似乎是答案!