我是一个完整的PHP(LAMP/WAMP/MAMP)菜鸟,我遇到了尝试从Web服务器运行shell命令的新手中常见的问题.我在Mac mini上有一个MAMP设置,我想收集Android命令的输出,
adb devices
Run Code Online (Sandbox Code Playgroud)
所以我可以显示连接到我的mac mini的设备列表.每当我在PHP脚本中将命令传递给shell_exec时,我都会返回一个空字符串.几次网络搜索后,我无法弄清楚如何解决问题.我试过跑步
shell_exec("who am i")
Run Code Online (Sandbox Code Playgroud)
返回"Clifton",即启动MAMP的用户帐户的名称.我确认同一个用户帐户可以执行"adb devices"命令.Android工具安装在该用户帐户的主文件夹中.我也尝试将绝对路径传递给命令.此时,我确定这是一个配置问题,但我不知道配置什么或在哪里.
试试这个:
shell_exec("adb devices 2>&1")
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.php.net/manual/en/function.shell-exec.php#106250