PHP-Java-Bridge使用笔记

/**============================================================

* @author  ken(695093513@qq.com)

* @date    2014-09-09

*
==============================================================**/

/**============================================================

* 版本与环境

*
==============================================================**/

版本:

1、php版本:最高为5.4,当前测试为5.4/5.3

2、JDK:官方最新版本,当前测试为1.8

3、php-Java-bridge:官方最新版本,当前测试为6.2.1

4、操作系统:Windows7 32位/64位 | Linux(Centos6.5)

/**============================================================

* 安装和使用

*
==============================================================**/

第一步:安装

1、JDK的安装:正常安装即可,并配置好环境变量

2、php的安装:正常安装即可

3、php-Java-bridge的安装:

①先下载Java服务器Tomcat正常安装,安装好后,开启Tomcat服务器

②将下载的php-Java-bridge包放到webapps下面

③等待Tomcat执行解析,会在该目录下面生成相同名字的文件夹

④将该文件夹拷贝到Apache服务器下面使用

(注:网上的教程可以正常使用,调用Java系统函数和简单的jar包,但是对于复杂的jar包会遇到各种各样的问题,所以建议使用这种方式)

第二步:使用

1、不需要开启Tomcat(最好关闭掉),开启apache服务器,双击运行Javabridge.jar,选择8080端口(Javabridge.jar也需要放到Java虚拟机下面,参见下面第二点规则)。

2、尽可能的将jar包放到Java虚拟机下面,即jre安装下面(比如:C:/Program Files/Java/jre1.8.0_20/lib/ext)

3、在php文件中不需要再引用jar包,因为放到虚拟机下面去了,Java会自动调用

(注:第1点中的Javabridge.jar是在第一步:安装中第3点中获得的)

/**============================================================

* 其他使用方法和注意事项

*
==============================================================**/

关于php-Java-Bridge的各种函数使用:

1、高版本的Java_require不再使用,也无法使用,由于放到Java虚拟机下面,则不需要再手动引入包文件

2、Java_value()用于获取值,而且必须使用该函数获取值

(特别注意:如果该值需要存入数据库,那么必须使用该Java_value函数,不然会报错,或者无法存入数据库)

3、Java_inspect()对实例化或者方法进行print_r类似的输出

(注:请不要直接使用var_dump这样的输出方法输出Java的类、方法、变量,需要使用Java_inspect或者Java_value,例如:var_dump(Java_inspect($abc)))

4、实例化使用 $test = new Java("Test")的方式,如果实例化的方法中存在参数,可以这样new Java("Test","pram")

注意事项:

1、务必确保对Java.inc的引用,确保引用正确

2、务必确保对jar包放在能引用的地方,比如Java虚拟机jre下面

3、在php中调用Java使用php的的写法即可

/**============================================================

* 附录1:各种报错问题处理

* 附录2:php实例代码

* 附录3:php-Java-bridge文件包解压后目录图

*

==============================================================**/

附录1:各种报错问题处理

1、参照上面的“其他使用方法和注意事项”,大多数问题都是路径引用的问题,只要处理好了,正确获得了,就不会出问题

附录2:php实例代码

require_once("/Java/Java.inc");$util = new Java("com.sdb.payclient.core.PayclientInterfaceUtil");$input = new Java("com.ecc.emp.data.KeyedCollection");$signDataput = new Java("com.ecc.emp.data.KeyedCollection");$input->put("masterId","111111");$input->put("orderId","222222");$signDataput = $util->getSignData($input);$orig = Java_values($signDataput->getDataValue("orig"));$sign = $signDataput->getDataValue("sign");echo Java_values($sign);

附录3:php-Java-bridge文件包解压后目录图

bridge --Java Java.inc JavaProxy.php --WEB-INF --cgi --... --lib php-script.jar php-servlet.jar --pear web.xml weblogic.xml

php技术PHP-Java-Bridge使用笔记,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。