php调用java程序

Posted 润土偷西瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php调用java程序相关的知识,希望对你有一定的参考价值。

第一步我们需要准备的是java环境,

https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

接下来就是需要准备我们需要调用的java类了,

 

 

 把你准备好的类放在这个文件夹下面,没有就新建一个文件夹  

 

接下来我们就要去准备php需要的东西了

http://php-java-bridge.sourceforge.net/pjb/download.php

一个文件是JavaBridge.jar    一个是Java.inc

这两个文件下载下来

这是php的代码:

1   define("JAVA_DEBUG", true); //调试设置
2        define("JAVA_HOSTS", "127.0.0.1:8080"); //设置javabridge监听端口,如果开启javabridge.jar设置的端口不是8080,可通过此语句更改
3        require_once("../extend/java/Java.inc"); //php调用java的接口,路径问题需要注意
4        $here=realpath(dirname($_SERVER["SCRIPT_FILENAME"]));
5 
6        $ta  = new \\Java("Main");//实例化的类
7        $lsit=java_values($ta->getsocketStr($arr));//getsocketStr 类名  
8        $led=test($lsit);
9        return $led;

 

需要注意的是路劲一定要正确

 

启动方法    到JavaBridge.jar 目录下输入下面命令  java -jar JavaBridge.jar SERVLET_LOCAL:8081 &

 

由于经常会崩溃的原因我这linux centons下写了一个粗糙的监控脚本 我这里用的是宝塔的计划任务,原理一样

1 #    用ps获取$PRO_NAME进程数量
2   NUM=`ps aux | grep java | grep -v grep |wc -l`
3 #  echo $NUM
4 #    少于1,重启进程
5   if [ "${NUM}" -lt "1" ];then
6     java  -jar /www/wwwroot/xx/JavaBridge.jar SERVLET_LOCAL:8080&
7 fi

如果不满足条件就重启当前的JavaBridge.jar 进程

 

 在文章最后需要感谢   https://www.jianshu.com/p/a4cdfdde800b 

 

以上是关于php调用java程序的主要内容,如果未能解决你的问题,请参考以下文章

ASP.net MVC 代码片段问题中的 Jqgrid 实现

java.lang.NullPointerException:Android 尝试调用虚拟方法错误

为啥片段恢复后再次调用onLoadFinished?

从片段调用 Google Play 游戏服务

22.java方法的定义

如何在片段中使用 GetJsonFromUrlTask​​.java