0

我正在尝试通过网络打开我的电视,我正在尝试通过 Raspberry PI LibCec 模块来做到这一点。

当我运行时echo shell_exec("sudo echo 'on 0' | cec-client -s"); ,php 页面上没有返回任何内容,并且我的电视没有打开。

当我在 ssh 连接中运行相同的命令sudo echo 'on 0' | cec-client -s(或没有sudo)时,即使我在 ssh 上以 www-data 身份登录,电视也会打开。

当我跑步时,echo shell_exec('whoami');我确实得到www-data了结果,这是怎么回事?

之前已经问过这个问题,但没有任何关于特权的确认,如下所示: EXEC() in php, cec-client raspberry

4

1 回答 1

1

是的!

这是一个 $PATH 问题,当我echo $PATH在 php 上运行时,我得到了一个较小的列表,然后我进入了我的 ssh 会话。

因此,在我的情况下,为了解决它,我使用了 cec-client 的完整路径,即: /opt/xbmc-bcm/xbmc-bin/bin/cec-client

因为那是我能找到的唯一 cec 客户端...

希望这对其他人有帮助!

有人可以通过告诉我如何让我的 php 会话$path包含通往我的路径来帮助我cec-client ,因为我不想一直使用完整的目录。

于 2014-12-04T20:28:04.497 回答