我已經創建了一個可以生成PDF文件的jar文件。我從這樣的命令行把它叫做 -來自PHP的調用jar
java -jar project.jar 'Author, An---A Title'
這工作得很好,但是當我打電話從下面的代碼的PHP文件相同的jar文件它會創建一個文件,使用正確的名稱,但其空有零字節。
<?php
echo exec("java -jar project.jar 'Author, An---A Title'");
?>
我敢肯定,這是一個問題,不與罐子(因爲它在命令行工作),我幾乎可以肯定它不是從PHP文件(因爲它創建的空文件,所以它必須已被閱讀),所以我認爲這個問題可能是在目錄上的權限?我使用的是Linux,PHP是通過OPT目錄下的XAMMP運行的。有任何想法嗎?
在此先感謝。
這是您自己的JAR還是第三方的?哪一個?你瞭解Java嗎? – BalusC 2010-09-06 18:24:21
我已經做了很多次,應該按預期工作。也許這是一個用戶/正確的問題。你有沒有用你的webserver/php進程使用的用戶調用命令行? – Timo 2010-09-06 18:30:50
如果你可以「su」給Apache運行的用戶,你可以測試你的權限理論。 'su apache; java -jar ..etc ..「可能不行,Apache用戶通常沒有shell。可能需要一些偵探工作來找出你的Apache運行的用戶,試試'ps aux | grep apache'或'ps aux | grep httpd'。用戶應該是'ps'輸出的第一列 – Robin 2010-09-06 18:44:52