PHP很强大,没有多少人没有听说过,java很强大同样也没有多少人没有听说过。但是有这么一个问题,java写的程序如何被php调用呢,再现实一点儿的情况,假如说有一个很强大的jar包,用php来改写会很困难,这个时候应该如何解决呢。其问题的实质就是解决php调用java程序的问题。
网上实现的方式很多,经过作者查询了n多个网站,有好多不能实现,作者将实验成功的这种方法公布出来,供大家参考。
实现方法需要javaBridge jar包的支持,下载方法,google下就可以找到了。
运行之前需要配置好运行需要的环境变量,可以写入到/etc/profile中:
export JAVA_HOME=/usr/server/jdk1.6.0_21
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
取值可能根据java环境的不同而不同。
然后,先在本地运行起来javaBridge.jar ,命令是:java -jar JavaBridge.jar SERVLET_LOCAL:8080
端口号可能被占用,更换一个就好了!
这样一个java的桥就搭好了。然后开始写php脚本,需要java.inc的支持,同理google可以找到:
define(“JAVA_HOSTS”,”127.0.0.1:8080″); //设置java的地址
require_once(“Java.inc”); //包含java.inc库文件
$tf=new Java(“class.full.name”); //定义tf是一个java中的类,参数 为类的全名,当然在java中得能够找到该类
echo $tf->method(); //接着调用java中的一个方法。
(此方法已经在ubuntu下调试通过) |