企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**php-java-bridge做桥接的实现原理**: 先打开java的一个监听端口,php调用java的时候,将对应的方法调用转发到java的指定端口,由java执行后再将结果返回给php。这种模式是一种比较典型的代理模式,php在这里成为了一个代理转发器,把java的类调用转发给后端的java执行。 1.首先下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.安装jdk 并修改配置参数 修改文件权限: chmod 770 jdk-8u5-linux-x64.rpm 解压:tar -zxvf jdk-8u5-linux-x64.rpm (解压到 /usr/java/) 编辑文件 /etc/profile,在最后添加:   export JAVA\_HOME=/usr/java/jdk1.8.0_65   export JRE\_HOME=$JAVA\_HOME/jre   export CLASSPATH=.:$JAVA\_HOME/lib:$JRE\_HOME/lib   export PATH=$JAVA\_HOME/bin:$PATH 3.测试是否安装成功 输入以下命令 javac java -version #得到版本号 4.下载二进制的 JavaBridge.jar包、java/Java.inc库文件 http://php-java-bridge.sourceforge.net/pjb/download.php](https://link.jianshu.com/?t=http://php-java- bridge.sourceforge.net/pjb/download.php) 5.JavaBridge.jar移动到java库的位置 /usr/java/jdk-8u5/jre/lib/ext 6.在JavaBridge.jar所在目录运行命令 java -jar JavaBridge.jar SERVLET\_LOCAL:8081 & 注:&表示后台运行 或者直接带上日志等级 java -jar JavaBridge.jar SERVLET:8081 3 JavaBridge.log & 注:如果需要开机启用,配置:**/etc/rc.d/rc.local** 末尾添加: java -jar JavaBridge.jar所在绝对路径 SERVLET\_LOCAL:8081 & 7.运行**netstat -nltp**命令查看是否有127.0.0.1:8081进程 8.在php项目目录下放置 Java.inc文件,编写php测试代码 test.php require_once("Java.inc"); $PBCAgent2G = new \Java("cn.com.infosec.netsign.agent.PBCAgent2G",false); 9.注意由php调取 java的任何方法所得到的值不能直接用,也不能直接打印,会得到一个对象 要使用java_values()函数先接收 才能使用 dump(java_values($PBCAgent2G->rawSign($aa,$c)));