我試圖運行apktool(只是一個工具來解壓android應用程序)在網上使用PHP shell_exec但它不工作。有誰知道這可能是爲什麼?shell_exec與PHP
這是該行代碼實際上是這樣的:
$output = `apktool d -f $file_name`;
任何建議將幫助我完全不知所措,爲什麼我運行PHP和沒有任何反應。 謝謝!
我試圖運行apktool(只是一個工具來解壓android應用程序)在網上使用PHP shell_exec但它不工作。有誰知道這可能是爲什麼?shell_exec與PHP
這是該行代碼實際上是這樣的:
$output = `apktool d -f $file_name`;
任何建議將幫助我完全不知所措,爲什麼我運行PHP和沒有任何反應。 謝謝!
確保您的實際路線是:
$output = shell_exec(`apktool d -f $file_name`);
這php.ini文件沒有safe_mode
打開或有01在 的disable_functions
指令中列出。
檢查您的Web服務器(可能是apache)是否有足夠的權限來執行apktool。包含apktool二進制文件的完整路徑。如果文件名中有空格,請使用單引號。
如果有詳細的命令未執行的細節,請檢查您的Web服務器的日誌。
我找到了解決方案。 創建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"); ?>
大概重要來電http://php.net/escapeshellarg – 2011-06-01 21:24:18
是否有錯誤輸出?嘗試使用'exec'函數,如果使用第二個或第三個參數,這將使您可以訪問'apktool'命令的輸出。如果您需要更多幫助,請將輸出放回此處。 – Robin 2011-06-01 21:25:13
apktool通常使用簡單的shell命令'apktool d -f $ file_name'運行,這就是爲什麼我基本上只是複製該命令並將其放入反引號中。我也用'shell_exec'和'exec'嘗試過,目前還沒有。 – Corey 2011-06-01 21:37:37