2017-05-08 113 views
0

首先,它應該是一個jar文件還是一個Java文件......其次,如果我正在使用xampp,那麼該文件的放置位置是什麼......我在exec上發現了很多示例,shell_exec ..但沒有工作..我嘗試了作爲一個jar文件和java文件..沒有任何工作字面上...我試着把它放在xampp文件夾和在程序文件的java文件夾中的bin。 ..但它沒有工作......是否有任何包括在執行命令之前我應該​​做的聲明..我嘗試了完整的目錄路徑,但它沒有工作以及..任何幫助與示例表示讚賞如何在php xampp中運行一個java程序

<?php 

    $file = __DIR__ . '/../xampp/htdocs/test.jar'; 

exec('java'.$file, $output); 
print_r($output); 


?> 

上面的代碼顯示一個空數組...

+0

你試圖從PHP運行什麼類型的java程序?它是一個cli工具嗎? – Devon

+0

現在我只是測試一個簡單的類與主要和打印..但是當它的工作,我會做加密... public class Test { \t public static void main(String args []){ \t System .out.println(「AWESOME!:)」); } } –

+0

爲了讓exec或shell_exec工作,您的Java程序需要是可執行的。 PHP不會讀取其他語言的類。 – Devon

回答

-1

首先XAMPP是一個使用Apache/PHP/MySQL的Web服務器堆棧。它與Java無關。您可以在PHP中執行已編譯的Java程序,但爲此,您的Java程序需要已經編譯爲字節碼(使用javac),並且您需要在XAMPP安裝中運行JRE。

然後,它僅僅是一個從PHP內執行java作爲外部進程的問題:

<?php 
$ret = exec('java -cp path/to/your/java/program Test') 
?> 

或相似。

+0

如果我的jar文件被稱爲test.jar,並被放置在htdocs中的xampp文件夾中,我的代碼應該是<?php $ ret = exec('java -cp xampp/htdocs/test.jar Test)?> ..這是正確的嗎? –

+0

你會像這樣創建一個維護噩夢。將Java代碼放在Java服務器上。不要將它嵌入與你的環境緊密結合的可執行腳本中,並且會隨着它的一點變化而中斷。 – toongeorges

+0

這取決於你的jar文件。你也可以使用'java -jar test.jar',但是你的jar文件需要一個Manifest文件。 而且,正如前面提到的評論者所說:您爲什麼要混合使用PHP和Java代碼?您計劃的程序能不能在PHP中實現? –