PHP-Java-Bridge使用笔记

前端之家收集整理的这篇文章主要介绍了PHP-Java-Bridge使用笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_5020@/**============================================================


@H
5020@* @author ken(<a href="mailto:695093513@qq.com">695093513@qq.com)


@H
5020@* @date 2014-09-09


@H
5020@*
==============================================================**/


@H
5020@/**============================================================


@H
5020@* 版本与环境


@H
5020@*
==============================================================**/


@H
5020@版本:


@H
502_0@1、PHP版本:最高为5.4,当前测试为5.4/5.3


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


@H
502_0@3、PHP-java-bridge:官方最新版本,当前测试为6.2.1


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


@H
5020@/**============================================================


@H
5020@* 安装和使用


@H
5020@*
==============================================================**/


@H
5020@第一步:安装


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


@H
502_0@2、PHP的安装:正常安装即可


@H_502_0@3、PHP-java-bridge的安装:


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


@H
502_0@②将下载的PHP-java-bridge包放到webapps下面


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


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


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


@H_5020@第二步:使用


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


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


@H
502_0@3、在PHP文件中不需要再引用jar包,因为放到虚拟机下面去了,java会自动调用


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


@H
5020@/**============================================================


@H
502_0@ 其他使用方法和注意事项


@H_502_0@

==============================================================/


@H_502_0@关于PHP-Java-Bridge的各种函数使用:


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


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


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


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


@H_502_0@(注:请不要直接使用var_dump这样的输出方法输出java的类、方法、变量,需要使用java_inspect或者java_value,例如:var_dump(javainspect($abc)))


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


@H_5020@注意事项:


@H
5020@1、务必确保对java.inc的引用,确保引用正确


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


@H
502_0@3、在PHP调用Java使用PHP的的写法即可


@H_502_0@/
============================================================


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


@H
502_0@ 附录2:PHP实例代码


@H_502_0@
附录3:PHP-Java-bridge文件包解压后目录图


@H_5020@*


@H
5020@==============================================================**/


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


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


@H_502_0@附录2:PHP实例代码


<div class="jb51code">
<pre class="brush: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);

@H_502_0@附录3:PHP-Java-bridge文件包解压后目录图

PHP --WEB-INF --cgi --... --lib PHP-script.jar PHP-servlet.jar --pear web.xml weblogic.xml

猜你在找的PHP相关文章