php-java-bridge 是可以讓PHP在Server端和Java溝通的工具
即是可以在PHP裡直接使用JAVA編譯好的class檔, 不多說廢話,安裝方法
1、首先確定你的PHP和Apache伺服器及JDK(or JRE也可)都已安裝完成 <-----這不用我教吧
2、上網下載 php-java-bridge
3、將下載回來的 php-java-bridge解壓縮,解壓後資料匣裡會有一個JavaBridge.war,再同樣將這個JavaBridge.war解壓縮(win rar即可解)
4、解壓後可從 WEB-INF資料匣裡的cgi資料匣找到java-x86-windows.dll(檔名應版本不同有變更 php5st.dll),及WEB-INF資料匣裡的lib資料匣找到JavaBridge.jar
5、將java-x86-windows.dll和JavaBridge.jar 複制到PHP的外掛資料匣(如C:\AppServ\php\ext),並將java-x86-windows.dll改成php_java.dll
補充需下載 Java.inc 將其複製到 C:\AppServ\php\ext\Java 下
6、修改php.ini檔案
如果php.ini原本沒有以下內容,請自行加上,如果原本就有以下內容,請修改成如下
include_path = ".;C:\AppServ\php5\ext"
extension=php_java.dll
[Java]
java.socketname = 9267
;java.java = C:\Program Files\Java\jdk1.5.0_08\bin\java <---如果是用JDK執行就寫這行
;java.java_home = C:\Program Files\Java\jdk1.5.0_08 <---如果是用JDK執行就寫這行
java.java = C:\Program Files\Java\jre1.5.0_07\bin\javaw <---用JRE執行就寫這行
java.java_home = C:\Program Files\Java\jre1.5.0_07 <---用JRE執行就寫這行
java.log_level = 2
7、重新起動Apache
8、從解壓的JavaBridge.war資料匣裡找到test.php,把它放到Apache伺服器的網頁目錄下去執行(如 http://localhost/test.php)
9、執行 http://localhost/test.php
觀看JAVA這一項
java
java support Enabled
java bridge 3.1.8rc1
java.java_home C:\Program Files\Java\jre1.5.0_07
java.java C:\Program Files\Java\jre1.5.0_07\bin\javaw
java.log_file <stderr>
java.log_level 2
java.persistent_connections On
java.security_policy Off
java command C:\Program Files\Java\jre1.5.0_07\bin\javaw -Djava.library.path=C:\AppServ\php\ext -Djava.class.path=C:\AppServ\php\ext/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=C:\AppServ\php\ext php.java.bridge.Standalone INET_LOCAL:9267 2
java status not running
java server 9267
看倒數第二項 java status的狀態是不是not running (這是因為沒有啟動JavaBridge.jar)
10、因為不可能每次開機都手動去啟動JavaBridge.jar 所以需寫一個批次檔,內容如下
@echo off
start javaw -jar JavaBridge.jar
把它存成phpJavaBridge.bat,同樣放在PHP的外掛資料匣裡(這裡是C:\AppServ\php\ext)
把該檔建立捷徑,把建立好的捷徑放到啟動裡(這裡是C:\Documents and Settings\All Users\「開始」功能表\程式集\啟動)
這樣一來,以後每次開機後就會自動啟動C:\AppServ\php\ext 資料匣裡的phpJavaBridge.bat
11、重開機後,開啟流覽器再從新執行http://localhost/test.php
再次觀看JAVA選項
java
java support Enabled
java bridge 3.1.8rc1
java.java_home C:\Program Files\Java\jre1.5.0_07
java.java C:\Program Files\Java\jre1.5.0_07\bin\javaw
java.log_file <stderr>
java.log_level 2
java.persistent_connections On
java.security_policy Off
java command C:\Program Files\Java\jre1.5.0_07\bin\javaw -Djava.library.path=C:\AppServ\php\ext -Djava.class.path=C:\AppServ\php\ext/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=C:\AppServ\php\ext php.java.bridge.Standalone INET_LOCAL:9267 2
java status running
java server 9267
倒數第二項 java status ,這次狀態應該變成running <----代表JavaBridge.jar已啟動,已可正式使用php-java-bridge
12、簡單範例
java_require("http://localhost/Test.jar");
or
java_set_library_path("file:D:/www/Test.jar");
1、首先確定你的PHP和Apache伺服器及JDK(or JRE也可)都已安裝完成 <-----這不用我教吧
2、上網下載 php-java-bridge
3、將下載回來的 php-java-bridge解壓縮,解壓後資料匣裡會有一個JavaBridge.war,再同樣將這個JavaBridge.war解壓縮(win rar即可解)
4、解壓後可從 WEB-INF資料匣裡的cgi資料匣找到java-x86-windows.dll(檔名應版本不同有變更 php5st.dll),及WEB-INF資料匣裡的lib資料匣找到JavaBridge.jar
5、將java-x86-windows.dll和JavaBridge.jar 複制到PHP的外掛資料匣(如C:\AppServ\php\ext),並將java-x86-windows.dll改成php_java.dll
補充需下載 Java.inc 將其複製到 C:\AppServ\php\ext\Java 下
6、修改php.ini檔案
如果php.ini原本沒有以下內容,請自行加上,如果原本就有以下內容,請修改成如下
include_path = ".;C:\AppServ\php5\ext"
extension=php_java.dll
[Java]
java.socketname = 9267
;java.java = C:\Program Files\Java\jdk1.5.0_08\bin\java <---如果是用JDK執行就寫這行
;java.java_home = C:\Program Files\Java\jdk1.5.0_08 <---如果是用JDK執行就寫這行
java.java = C:\Program Files\Java\jre1.5.0_07\bin\javaw <---用JRE執行就寫這行
java.java_home = C:\Program Files\Java\jre1.5.0_07 <---用JRE執行就寫這行
java.log_level = 2
7、重新起動Apache
8、從解壓的JavaBridge.war資料匣裡找到test.php,把它放到Apache伺服器的網頁目錄下去執行(如 http://localhost/test.php)
9、執行 http://localhost/test.php
觀看JAVA這一項
java
java support Enabled
java bridge 3.1.8rc1
java.java_home C:\Program Files\Java\jre1.5.0_07
java.java C:\Program Files\Java\jre1.5.0_07\bin\javaw
java.log_file <stderr>
java.log_level 2
java.persistent_connections On
java.security_policy Off
java command C:\Program Files\Java\jre1.5.0_07\bin\javaw -Djava.library.path=C:\AppServ\php\ext -Djava.class.path=C:\AppServ\php\ext/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=C:\AppServ\php\ext php.java.bridge.Standalone INET_LOCAL:9267 2
java status not running
java server 9267
看倒數第二項 java status的狀態是不是not running (這是因為沒有啟動JavaBridge.jar)
10、因為不可能每次開機都手動去啟動JavaBridge.jar 所以需寫一個批次檔,內容如下
@echo off
start javaw -jar JavaBridge.jar
把它存成phpJavaBridge.bat,同樣放在PHP的外掛資料匣裡(這裡是C:\AppServ\php\ext)
把該檔建立捷徑,把建立好的捷徑放到啟動裡(這裡是C:\Documents and Settings\All Users\「開始」功能表\程式集\啟動)
這樣一來,以後每次開機後就會自動啟動C:\AppServ\php\ext 資料匣裡的phpJavaBridge.bat
11、重開機後,開啟流覽器再從新執行http://localhost/test.php
再次觀看JAVA選項
java
java support Enabled
java bridge 3.1.8rc1
java.java_home C:\Program Files\Java\jre1.5.0_07
java.java C:\Program Files\Java\jre1.5.0_07\bin\javaw
java.log_file <stderr>
java.log_level 2
java.persistent_connections On
java.security_policy Off
java command C:\Program Files\Java\jre1.5.0_07\bin\javaw -Djava.library.path=C:\AppServ\php\ext -Djava.class.path=C:\AppServ\php\ext/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=C:\AppServ\php\ext php.java.bridge.Standalone INET_LOCAL:9267 2
java status running
java server 9267
倒數第二項 java status ,這次狀態應該變成running <----代表JavaBridge.jar已啟動,已可正式使用php-java-bridge
12、簡單範例
13、如果是自訂的類別,而不是JAVA內建的類別,則需要把該類別先打包成 jar 再用下面的方式匯入jar檔案$system=new Java('java.lang.System'); //調用 Java class:java.lang.System echo "java版本".$system->getProperty('java.version'); echo "發行廠商".$system->getProperty('java.vendor'); echo "作業系統版本".$system->getProperty('os.name'); echo "java版本".$system->getProperty('os.version'); echo "java版本".$system->getProperty('os.arch');
java_require("http://localhost/Test.jar");
or
java_set_library_path("file:D:/www/Test.jar");