在PHP exec()中运行vcgencmd

5
当我在终端中运行vcgencmd measure_temp时,它会给出CPU的温度读数。
但是当我在php中使用相同的命令exec('vcgencmd measure_temp 2>&1')时,浏览器会显示以下错误:

VCHI初始化失败

如何从php中执行vcgencmd命令?

我相信PHP已经利用CPU温度的快速上升和下降,以原始SOS语言与您电脑中的沙鼠进行通信。因此,这些沙鼠必须对CPU温度拥有独占锁定。 - Sumurai8
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=34076 <-- 这里建议更新固件/重启来解决该问题。 - Sumurai8
可能是权限问题。尝试执行 exec ('sudo vcgencmd measure_temp 2>&1') - Samuel
@Samuel 在浏览器中使用sudo会出现以下错误:'sudo: no tty present and no askpass program specified'。 - Rkumar
请检查以下链接,以配置sudoers文件:https://dev59.com/12Ei5IYBdhLWcg3wFoy9#24107529 - Samuel
1个回答

7
你需���将用户'www-data'添加到名为'video'的用户组中。你可以通过以下sudo命令进行添加:
sudo usermod -aG video www-data

重启后可以解决问题。 如果还是不行,尝试通过编写以下代码来检查脚本执行者的用户名:

<?php
echo(exec("whoami"));
?>

把已打印的用户添加到“视频”组。

对不起,我的英语不好。


1
这也可以在命令行中以非root用户身份运行vcgencmd - Stéphane Gourichon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接