我正在尝试通过网络开启我的电视,我正在尝试通过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
答案 0 :(得分:1)
YES!
这是一个$ PATH问题,因为我在php上运行了echo $PATH
我得到了一个较小的列表然后我进入了我的ssh会话。
所以为了解决这个问题,我使用了cec-client的完整路径
这是:
/opt/xbmc-bcm/xbmc-bin/bin/cec-client
因为那是我能找到的唯一一个cec-client ...
希望这有助于其他人!
请有人通过告诉我如何让我的php会话$path
包含我cec-client
的路径来帮助我
因为我不想一直使用完整的目录。