我有一个PHP警告。
fread() expects parameter 1 to be resource, boolean given in /tmp/func.php on line 12
我的代码:
<?php
$sqlite = 'teleinfo.sqlite';
function getTeleinfo () {
$handle = fopen ('/dev/ttyACM0', "r"); // ouverture du flux
while (fread($handle, 1) != chr(2));
--------
谢谢!
php --version
PHP 5.4.45-0 + deb7u2(cli)(建于2015年10月27日23:22:07)
版权所有(c)1997-2014 PHP小组
Zend Engine v2.4.0,版权所有(c)1998-2014 Zend Technologies
答案 0 :(得分:0)
'Boolean given'表示fopen的返回值为false,因此您尝试打开/ dev / ttyACM0进行读取失败。 在尝试使用它之前,你应该检查你的句柄是否有效
$handle = fopen ('/dev/ttyACM0', "r"); // ouverture du flux
if ($handle) {
while (fread($handle, 1) != chr(2));
...
}
答案 1 :(得分:0)
如果您正在阅读本教程:http://www.magdiblog.fr/gpio/teleinfo-edf-suivi-conso-de-votre-compteur-electrique/
数据在/ dev / ttyAMA0
上重现stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
但在PHP脚本中解析/ dev / ttyACM0
您应该在php脚本中更改文件名!