最近想做的一需求中用到在php中调用java,我去网上找,看到好多,但他们讲的是3.x版本的配置方法,我去了
http://sourceforge.net/projects/php-java-bridge 上看到已经是5.33了,按网上一些方法要本不起作用,最后直接看官方说明
原来最新版本更加简单。步骤如下:
最开始要装jdk这个就不用说了,我装的是java ee 5+jdk
装好后:
1.把下载的php-java-bridge_5.3.3_j2ee.zip解压出来,里面有个JavaBridge.war 直接用winrar打开,到WEB-INF/lib/JavaBridge.jar 把这个jar包拷到 你的php目录的ext/下。
2.打开war包,里面有个java的文件夹,把他全部拷到你的项目下,如/demo/java
3.目前的版本是VMBridge了,要php调用java类,要先启动JavaBridge,为了以后启动方便,我在ext/下新建了一个bat文件内容如
下:
@echo off
start javaw -jar JavaBridge.jar
保存后,双击启动 会有一个提示框选择vmbridge port 默认8080,直接点ok就行了
4.在/demo/下新建test.php内容如下:
- <?php
- require_once("java/Java.inc");
- header("content-type:text/html; charset=utf-8");
- // get instance of Java class java.lang.System in PHP
- $system = new Java('java.lang.System');
- $s = new Java("java.lang.String", "php-java-bridge config...<br><br>");
- echo $s;
- // demonstrate property access
- print 'Java version='.$system->getProperty('java.version').' <br>';
- print 'Java vendor=' .$system->getProperty('java.vendor').' <br>';
- print 'OS='.$system->getProperty('os.name').' '.
- $system->getProperty('os.version').' on '.
- $system->getProperty('os.arch').' <br>';
- // java.util.Date example
- $formatter = new Java('java.text.SimpleDateFormat',
- "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
- print $formatter->format(new Java('java.util.Date'));
- ?>
5.启动apache,在浏览器中查看 http://localhost/demo/test.php
会看到如下信息:
php-java-bridge config...
Java version=1.6.0_10
Java vendor=Sun Microsystems Inc.
OS=Windows Vista 6.0 on x86
星期日, 十一月 23, 2008 at 4:31:49 下午 中国标准时间
说明成功了,你可以在php中调用java了。