0

PHP shell_execを使用してWeb上でapktool (Androidアプリケーションをアンパッケージするためのツール)を実行しようとしていますが、機能していません。なぜこれが起こるのか誰かが知っていますか?

コード行は実際には次のようになります。

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

どんな提案でも、なぜphpを実行しても何も起こらないのか、完全に途方に暮れるのに役立ちます。ありがとう!

4

3 に答える 3

2

解決策を見つけました。実行権限を持つ 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"); ?>
于 2012-12-02T15:04:18.197 に答える
1

Web サーバー (おそらく apache) に apktool を実行するための十分な権限があるかどうかを確認してください。apktool バイナリへのパス全体を含めます。ファイル名にスペースが含まれる場合は、一重引用符を使用してください。

コマンドが実行されない理由の詳細がある場合は、Web サーバーのログを確認してください。

于 2011-06-01T21:24:49.053 に答える
0

実際の行が次のとおりであることを確認してください。

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

また、php.ini ファイルがsafe_modeオンになっていないか、ディレクティブshell_execにリストされていないこと。disable_functions

于 2011-06-01T21:20:28.370 に答える