2017-05-08 124 views
1

我試圖通過PHP Exec()函數來執行Java Jar。無法從Php Exec()函數執行java Jar?

$encryptPass = exec('/usr/bin/java -Djava.awt.headless=true -jar /Users/sadasda/Desktop/EncryptTest.jar test123'); 

但是,我得到的所有輸出都是空白字符串。我給了java和Jar的完整路徑。我可能做錯了什麼?

回答

1

有幾件事情可以繼續下去。一些是:

  • 路徑可能是錯誤的。 (不要打折一個愚蠢的錯誤的可能性......)
  • 在Java應用程序中可能存在一個錯誤。 (你試過運行與命令行相同ARGS的命令?您是否嘗試過拍攝從PHP中的java命令中的「標準錯誤」流?)
  • 的Java應用程序可以期待其「標準輸入」的東西流......而不是在命令參數中。
  • 硬化的OS可以從執行任意外部應用程序阻塞PHP。 (例如,強制執行模式的SELinux或AppArmor。)
+0

無法成功從命令行執行該jar。我的操作系統是MacOs。如何從PHP中的java命令捕獲標準錯誤流? – user6708151

+0

1)我不知道(不是PHP的人)。 2)這表明問題不在於第2點,可能不是第1點。 –