【上干货系列】如何使用php引入jar包并使用?

发布于 2022-01-25 18:19:18

在一次PHP项目开发中需要用到银行提供的接口工具包,一个.jar文件,进行验签操作。于是在网上搜索了有关资料,核心词就是:JavaBridge,网上搜索各种干扰信息乱七八糟的,有的缺东少西,有的过于冗余。这里整理一下简简单单就搞定。

话不多说直接上干货,如何快速实现在php中引入jar类包?

安装java 环境

centos 系统直接使用命令:yum install java
测试是否安装成功:java -version

下载JavaBridge工具,解压得到JavaBridge.jar文件

php-java通信库:php-java-bridge下载

将JavaBrideg.jar放到/usr/local/JavaBrideg.jar,然后执行**打开JavaBridge命令**:
nohup>javaBridge.log java -jar /usr/local/JavaBridge.jar SERVLET:58080 2>&1 &

这时会生成一个javaBridge.log文件,打开获取到JAVA.EXT.DIRS路径,比如我这里是:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/ext

将想要php引入的jar包复制到该目录下,比如util.jar,那路径就是:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/ext/util.jar

之后重新打开JavaBridge,需要先杀死在启动一次
ps -aux | grep "java" 找到上面执行的java命令进程ID,然后 kill pro_id;
nohup>javaBridge.log java -jar /usr/local/JavaBridge.jar SERVLET:58080 2>&1 &

为了保证每次系统重启都能启动,需要将该命令加入启动项

打开文件 vi /etc/rc.d/rc.local
在末尾加上命令:nohup>javaBridge.log java -jar /usr/local/JavaBridge.jar SERVLET:58080 2>&1 &
然后保存即可。

最后就可以在php脚本里调用jar包了,demo案例来了

<?php
require("http://127.0.0.1:58080/JavaBrideg/java/Java.inc");
$java = new \Java('com.pay.api.util.PayUtil') //这里一定要写包的完整类名
$res = $java->makeSign($param,$pubkey); //makeSign 是jar包里封装的方法。

完结撒花。

php7.4以上的版本如果引入jar包会出错,需要调整一些东西

如果有这方面的开发需要可以QQ联系我处理哦。

©声明:本站所有文章,如无特殊说明或标注,均为izhnagbo.cn原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。本文链接 https://izhangbo.cn/article/50.html
0 条评论

学习
记录

发布
问题