2011-04-18 58 views
2

我想在php中運行一個簡單的.jar文件。 .jar應該讀取一個名爲test.txt的文件並編寫一個名爲test2.txt的文件。在php中執行.jar的問題

在創建jar之後,我在cmd中執行java -jar "C:\wamp\www\Sistem\Sistem\dist\Sistem.jar",它工作得很好,test2.txt被修改,但是在php中這不會發生。這裏的源

C:\ WAMP \ WWW \ SISTEM \的index.php

< ? php 
echo exec('java -jar "C:\wamp\www\Sistem\Sistem\dist\Sistem.jar"'); 
? > 

我剛剛訪問http://localhost/Sistem/,但test2.txt文件不修改。我真的需要幫助,謝謝!

+2

**系統**拼寫**系統**! – RobertPitt 2011-04-18 19:46:05

+0

在路徑中嘗試'\\\'而不是'\\'。 – cweiske 2011-04-18 20:13:27

+0

我沒有在Windows上運行php,但這種事情通常需要一些文件權限。擁有Web服務器進程的用戶可能需要在'test2.txt'上寫入權限。 – grossvogel 2011-04-18 22:30:41

回答

3

嘗試使用絕對路徑的Java二進制:

shell_exec('"c:/program files/oracle/jdk/bin/java.exe" -jar "d:/path/to/jar.jar"'); 

如果它會工作,這意味着PHP不同%PATH%環境變量運行。

+0

謝謝你的答案爲我工作。 – Haider 2014-09-14 06:38:16