我正在尝试使用PHP shell_exec在Web上运行apktool(只是解压Android应用程序的工具),但它无法运行。有谁知道为什么会这样?
这就是代码行的实际情况:
$output = `apktool d -f $file_name`;
任何建议都有助于我完全不知道为什么我运行php而没有任何反应。 谢谢!
答案 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
指令。