【问题标题】:Interact with external commands via shell_exec通过 shell_exec 与外部命令交互
【发布时间】:2013-08-22 00:37:40
【问题描述】:

由于使用 aapt,最近我在 CentOS 服务器上安装了 Android SDK,aapt 通过 Putty SSH 应用程序在命令行中运行良好。

现在,我想通过 php shell_exec 方法运行 aapt 命令。

我的Android-SDK已经安装在\ipl\android-sdk\platform-tools\aapt,但是我无法通过shell_exec方法与之交互。

代码:

$out = shell_exec("/ipl/android-sdk/platform-tools/aapt d badging t.apk 2>&1");
var_dump($out);

结果:

string(60) "sh: /ipl/android-sdk/platform-tools/aapt: Permission denied " 

有什么想法吗?

【问题讨论】:

    标签: php android linux centos


    【解决方案1】:

    检查文件是否有足够的权限以及用户是否能够执行该文件。

    希望对你有帮助

    【讨论】:

    • 你能说得更明白些吗,我该如何检查权限?!
    • 如果一个文件对用户来说是可执行的,并不意味着用户实际上能够执行该文件。用户还需要父目录的执行权限。尝试 chmod o+x * -Rf 到您的父文件夹“ipl” chmod o+x 将递归更改“IPL”内的所有子文件夹
    • 所以我的代码应该是$out = shell_exec("o+x * -Rf /ipl/android-sdk/platform-tools/aapt d badging t.apk 2>&1"); var_dump($out);,对吧?
    • 尝试使用 ssh 访问您的机器,然后转到您的文件夹 ipl(ipl 的 cd 位置),然后运行 ​​chmod o+x -Rf 设置 chown 后尝试您的命令: $out = shell_exec(" /ipl/android-sdk/platform-tools/aapt d 徽章 t.apk 2>&1");
    • 即使在设置此命令后仍然获得权限被拒绝 => chmod o+x -Rf /ipl/android-sdk/platform-tools/aapt 使用 SSH。
    猜你喜欢
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    相关资源
    最近更新 更多