我有一個名爲MyJar.jar
的jar文件,它接受4個參數。我需要使用php腳本來執行這個jar文件。 php文件和jar文件位於相同的目錄中。
當我嘗試使用system
函數時根本沒有任何反應,沒有輸出沒有任何東西。其他功能也是如此,例如exec
,passthru
等。如何使用php執行jar文件?沒有任何反應
這就是我試圖運行該文件的方式。
system('java -jar ./MyJar.jar arg1 arg2 arg3 arg4');
// and also
system('./MyJar.jar arg1 arg2 arg3 arg4');
// and also
exec('./MyJar.jar arg1 arg2 arg3 arg4',$output);
print_r($output);
// nothing works
UPDATE:感謝您的回答。但我已經嘗試了一切。我嘗試使用我的jar文件的絕對路徑。我嘗試了絕對路徑和相對路徑的命令中繼功能的各種可能組合。我嘗試使用chdir
更改目錄。 pwd
顯示我在正確的道路上。我不知道該做什麼了。
UPDATE 2:我剛剛發現了一些奇怪的東西。當我使用system
呼叫並指定返回值時,返回號碼6
。如果我理解正確6
意味着進程已被中止或什麼。我想知道這是什麼意思?
UPDATE 3:檢查錯誤日誌後,生成以下錯誤。任何人都可以幫助我嗎?
dl failure on line 696Error: failed /usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/server/libjvm.so, because /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6)
問題是否有可能與jar文件?你可以手動運行它,看看它是否正確運行? – Lix
沒有。 jar文件沒問題。它從命令行完美運行。 –
您可能需要指定java的完整路徑,我不確定system()或exec()是否檢查PATH變量 – Darkzaelus