3

我是一个完整的 PHP (LAMP/WAMP/MAMP) 菜鸟,在尝试从 Web 服务器运行 shell 命令的菜鸟中,我遇到了一个常见的问题。我在 Mac mini 上有一个 MAMP 设置,我想收集 Android 命令的输出,

adb devices

所以我可以显示连接到我的 mac mini 的设备列表。每当我在我的 PHP 脚本中将命令传递给 shell_exec 时,我都会返回一个空字符串。经过几次网络搜索后,我无法弄清楚如何解决该问题。我试着跑步

shell_exec("who am i")

它返回“Clifton”,即启动 MAMP 的用户帐户的名称。我验证了这个相同的用户帐户可以执行“adb devices”命令。Android 工具安装在该用户帐户的主文件夹中。我也尝试过将绝对路径传递给命令。在这一点上,我确定这是一个配置问题,但我不知道要配置什么或在哪里配置。

4

2 回答 2

7

试试这个:

shell_exec("adb devices  2>&1")

来源:http ://www.php.net/manual/en/function.shell-exec.php#106250

于 2012-05-17T16:57:37.573 回答
1

您应该尝试打开文件 /Applications/MAMP/Library/bin/envvars 然后注释 if 和 else 的四行。这看起来像这样:

#if test "x$DYLD_LIBRARY_PATH" != "x" ; then
#  DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
#else
#  DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib"

这对我来说可以!我希望你能享受它。祝你好运!

于 2013-07-05T01:26:25.937 回答