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