我正在尝试使用以下方法从 PHP 运行 adb:
exec( 'adb devices', $output, $return_val );
但我收到 126 错误。
我认为问题在于 php 以“www-data”用户身份运行并且没有执行 adb 的权限。
有什么解决办法吗?
答案1
这一页表明这个错误代码意味着权限问题或者程序无法执行。
如果你的程序是可执行的(有x
权限),你需要确保它可以被www-data用户执行。
如果需要超级用户权限,您需要为 www-data 设置无密码的 sudo 来执行此命令。您需要使用 编辑 sudoers 文件sudo visudo
。然后,添加如下行:
www-data ALL=NOPASSWD: /path/to/your/program
要以不同用户身份运行命令,可以使用以下形式:
sudo -u username command