PHP-Java-Bridge使⽤笔记
/**============================================================
* @author ken(****************)
* @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、参照上⾯的“其他使⽤⽅法和注意事项”,⼤多数问题都是路径引⽤的问题,只要处理好了,正确获得了,就不会出问题
国外java php附录2:PHP实例代码
require_once("/java/Java.inc");
$util = new Java("com.PayclientInterfaceUtil");
$input = new Java("p.data.KeyedCollection");
$signDataput = new Java("p.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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论