在 WinXP 安裝 PHP/Java Bridge

分類: 技術分享 作者: suzy

21 8 月 2008

這篇要講的內容是,如何在 Windows + PHP 環境中執行 Java class 檔

首先我們需要找一個能夠連接 PHP 與 Java 的媒介我們測試了很多方法,其中最簡便的方法就是安裝 PHP/JAVA BRIDGE

安裝步驟:

  1. 下載 PHP/Java Bridge,請選擇最新的Binary Stable 版本。 (目前最新版是php-java-bridge_5.2.2_j2ee.zip)
  2. 下載 Tomcat。根據PHP/Java Bridge 官網的安裝手冊,我們也需要用到 Tomcat。 (而且之後在跑 Bridge 的同時, Tomcat 也必需要在啟動的狀態)。 在Tomcat Download 頁面找到最新的 Windows Service Installer。 (目前最新版本是apache-tomcat-6.0.18.exe)
  3. 裝好的同時 Tomcat 應該也已經啟動了。 Tomcat 資料夾會在這裡:C:\Program Files\Apache Software Foundation\Tomcat 6.0 將下載好的php-java-bridge 解壓縮,在裡面找到一個叫 JavaBridge.war 的檔,將該檔放到:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps之下,等待15秒後 Tomcat 會自動產生一個叫 JavaBridge 的資料夾。
  4. 把自動產生的 JavaBridge 資料夾整個移到 localhost 之下的任何一個地方,(eg, 我放在 http://localhost/suzy/JavaBridge),在這裡有官方寫好的測試 Script (index.php),點第一個 Execute 連結,會顯示 PHP Info,如果你可以在這頁最下方看到java.runtime 的資訊且沒有顯示錯誤訊息的話,代表你已經成功了喔!恭喜恭喜,很簡單吧^_^
  5. 但是還差一點點,我們剛剛裝好了 Bridge,現在要開始用 Java了。 我們在這邊測試的是 ApiClient.jar,把它放到同一個資料夾下,並新建一支程式:
    require_once("java/Java.inc");
    java_require("ApiClient.jar");
    $apiClient = new Java("com.nccc.evpos.ApiClient");
    $apiClient->setPAN("9999111188882222");
    $test = $apiClient->getPAN();echo $test;
    如果可以成功的顯示出$test,那就代表OK啦!

PS. 不知道ApiClient.Jar 在哪裡的可以跟Neo或跟我要喔。

很簡單吧, 跟吃豆皮壽司飯一樣,感謝大家跟寫Bridge的作者。

6 Responses to 在 WinXP 安裝 PHP/Java Bridge

Avatar

憲仔

六月 1st, 2009 at 11:10 上午

版大,可以寄給我ApiClient.Jar 真的很謝謝
拜託你了@@" 謝謝

Avatar

小威

六月 9th, 2009 at 3:43 下午

看完閣下的東西
獲益良多
我現在也在練習這個部份
可以請大大也把ApiClient.Jar 檔 寄給我好嗎
我信箱willie02042000@yahoo.com.tw
謝謝

Avatar

初學者

十二月 18th, 2009 at 1:31 下午

1.有一些網誌上寫不用tomcat,所以還是需要tomcat 才可以跑成功囉??
2.用appserv好像也有問題@@

Avatar

fillano

一月 4th, 2010 at 10:04 上午

我看了一下文章,他好像只是利用tomcat來解開war檔,其實不用那麼麻煩,用winrar就可以做得到耶...(我是沒用過php/java bridge啦)

我在java上跑過Quercus,這是一個java base的php引擎,也可以跟java整合。(我用他在GAE上面跑PHP)

Avatar

suzy

一月 4th, 2010 at 3:11 下午

war 的確可以直接用 winrar 解開, 當時我是依照 Java Bridge 的安裝手冊裝了 tomcat, 如果把 tomcat 關了就不能正常執行..
(不好意思 當時很偷懶沒有去探究原因 ^^")

上網看了一下其他的網誌, 有改到 php.ini 跟一些路徑設定...

安裝的方式應該有很多種, 但原理應該是相通的 🙂

PS 我是用 appserv 照以上的方法可以安裝成功唷....

再一次謝謝大家的迴響

Avatar

fillano

一月 4th, 2010 at 5:57 下午

嗯嗯,剛剛上去看了一下,基本上他內建了一個簡單的http伺服器,所以的確可以不用依賴其他JEE容器例如tomcat,但是這個簡單的http伺服器缺少了許多功能,所以如果要在產品上應用會有潛在問題。

他是用一個網路協定(看起來好像也是http)來讓php與一個遠端或近端的JVM溝通,讓兩者可以整合在一起,所以Java端的伺服器是必備的。我猜一些code會送到遠端的java伺服器執行再把結果轉譯成php code送回來。他為何要這樣做,可能是基於彈性與分散負擔的考量。

這樣的架構有點像前端用apache而後面用tomcat等做應用伺服器,然後透過mod_jk或是mod_proxy來整合。

我要留言

關於這裡

這個部落格分享了哇寶在電子商務領域的技術及資訊,希望能讓更多人一起為台灣的網路產業加油。