使用PHP的shell_exec

时间:2011-06-01 21:10:21

标签: php shell-exec

我正在尝试使用PHP shell_exec在Web上运行apktool(只是解压Android应用程序的工具),但它无法运行。有谁知道为什么会这样?

这就是代码行的实际情况:

   $output = `apktool d -f $file_name`;

任何建议都有助于我完全不知道为什么我运行php而没有任何反应。 谢谢!

3 个答案:

答案 0 :(得分:2)

我找到了解决方案。 使用exec权限创建build.sh文件并写下以下代码:

#!/bin/bash
export PATH=/opt/local/bin:/opt/local/sbin:/usr/bin/:/usr/sbin/:/bin:/sbin/:/bin/sbin:/usr/local/bin:/usr/X11/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

/usr/local/bin/apktool b -d $1 $2

- 用法./build.sh

<? php shell_exec("/path/to/build.sh $dir $file"); ?>

答案 1 :(得分:1)

检查您的Web服务器(可能是apache)是否具有足够的权限来执行apktool。包括apktool二进制文件的完整路径。如果文件名中有空格,请使用单引号。

如果有任何详细信息没有执行命令,请检查您的Web服务器日志。

答案 2 :(得分:0)

确保您的实际行是:

 $output = shell_exec(`apktool d -f $file_name`);

并且您的php.ini文件未启用safe_mode或已列出shell_exec disable_functions指令。