php-java-bridge 是可以让PHP在Server端和Java沟通的工具
即是可以在PHP里直接使用JAVA编译好的class档
不多说废话,赶快交大家安装方法
1、首先确定你的PHP和Apache伺服器及JDK(or JRE也可)都已安装完成 <-----这不用我教吧
2、上网下载php-java-bridge(自行找戴点 or http://sourceforge.net/project/showfiles.php?group_id=117793 )
3、将下载回来的 php-java-bridge解压缩,解压後资料匣里会有一个JavaBridge.war,再同样将这个JavaBridge.war解压缩(win rar即可解)
4、解压後可从 WEB-INF资料匣里的cgi资料匣找到java-x86-windows.dll,及WEB-INF资料匣里的lib资料匣找到JavaBridge.jar
5、将java-x86-windows.dll和JavaBridge.jar 复制到PHP的外挂资料匣(我这边是C:AppServphpext),并将java-x86-windows.dll改成php_java.dll
6、修改php.ini档案
如果php.ini原本没有以下内容,请自行加上,如果原本就有以下内容,请修改成如下
extension=php_java.dll
[Java]
java.socketname = 9267
java.java = C:Program FilesJavajdk1.5.0_08binjava <---如果是用JDK执行就写这行
java.java_home = C:Program FilesJavajdk1.5.0_08 <---如果是用JDK执行就写这行
java.java = C:Program FilesJavajre1.5.0_07binjavaw <---用JRE执行就写这行
java.java_home = C:Program FilesJavajre1.5.0_07 <---用JRE执行就写这行
java.log_level = 2
7、重新起动Apache
8、从解压的JavaBridge.war资料匣里找到test.php,把它放到Apache伺服器的网页目录下去执行
9、执行 http://localhost/test.php
观看JAVA这一项
java
java support Enabled
java bridge 3.1.8rc1
java.java_home C:Program FilesJavajre1.5.0_07
java.java C:Program FilesJavajre1.5.0_07binjavaw
java.log_file <stderr>
java.log_level 2
java.persistent_connections On
java.security_policy Off
java command C:Program FilesJavajre1.5.0_07binjavaw -Djava.library.path=C:AppServphpext -Djava.class.path=C:AppServphpext/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=C:AppServphpext 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:AppServphpext)
把该档建立捷径,把建立好的捷径放到启动里(这里是C:Documents and SettingsAll Users「开始」功能表程式集启动)
这样一来,以後每次开机後就会自动启动C:AppServphpext 资料匣里的phpJavaBridge.bat
11、重开机後,开启流览器再从新执行http://localhost/test.php
再次观看JAVA选项
java
java support Enabled
java bridge 3.1.8rc1
java.java_home C:Program FilesJavajre1.5.0_07
java.java C:Program FilesJavajre1.5.0_07binjavaw
java.log_file <stderr>
java.log_level 2
java.persistent_connections On
java.security_policy Off
java command C:Program FilesJavajre1.5.0_07binjavaw -Djava.library.path=C:AppServphpext -Djava.class.path=C:AppServphpext/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=C:AppServphpext php.java.bridge.Standalone INET_LOCAL:9267 2
java status running
java server 9267
倒数第二项 java status ,这次状态应该变成running <----代表JavaBridge.jar已启动,已可正式使用php-java-bridge
12、简单范例
<?
$system=new Java('java.lang.System');
echo "java版本".$system->getProperty('java.version')。"<BR>";
echo "发行厂商".$system->getProperty('java.vendor')。"<BR>";
echo "作业系统版本".$system->getProperty('os.name')。"<BR>";
echo "java版本".$system->getProperty('os.version')。"<BR>";
echo "java版本".$system->getProperty('os.arch')。"<BR>";
?>
13、如果是自订的类别,而不是JAVA内建的类别,则需要把该类别先打包成jar
再用下面的方式汇入jar档案
java_require("http://localhost/Test.jar");
or
java_set_library_path("file:D:/www/Test.jar");