就是用一套名為 PHP/Java Bridge的lib
就姑且研究了一下
原文章http://www.coolcode.cn/?action=show&id=166
呵呵!長長一串有夠複雜 舊版的安裝很花工夫
不過別擔心 新版的安裝方法已經減化很多了
在此只介紹新版的安裝法(舊版的大概也難找了)
首先請到官網下載php-java-bridge_5.4.4.2 這是目前的版本
不直接放載點,因為舊版的好像會被拿掉,請以官方為準
http://php-java-bridge.sourceforge.net/pjb/how_it_works.php
點download之後請點選php-java-bridge_5.4.4.2_documentation.zip下載
解壓之後,應該會看到一個JavaBridge.war
請在把他解壓縮,之後請放到localhost根目錄下
之後能就能(?)快樂的用PHP去call java的class了
用官網給的範例
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
$System = java("java.lang.System");
echo $System->getProperties();
?>
看到沒有,簡單include就可以套用java類別了 哇哈哈
當然不會這麼簡單,執行後出現錯誤訊息
...URL file-access is disabled in the server configuration....
要include遠端檔案,必須開啟PHP權限,請修改php.ini的allow_url_fopen跟allow_url_include
allow_url_fopen = On
allow_url_include = On
如果找不到的話請自己補上,像我的php.ini就沒有allow_url_include選項
之後執行,又出現一個錯誤訊息
The requested method PUT is not allowed for the URL /JavaBridge/JavaBridge.phpjavabridge........
Check the back end log for OutOfMemoryErrors......
這是因為他新版會開一個proxy來代理java的動作,必須先執行他的JavaBridge.jar這隻程式
沒意外的話應該會放在JavaBridge\WEB-INF\lib下面
想想也是,他include一個遠程檔案,但是我並沒有那個server,所以他應該會在開一個proxy才對
程式執行畫面
範例是用8080port 就選8080port吧
因為我8080已經用過了 所以他會從8081開始
之後再執行就沒問題啦
沒有留言:
張貼留言