最近由于一个功能模块需要用到PHP调用java的class所以就研究了一下。
有2种方法
1、种是用php自身带的模块调用java(不过经过网友的证明发现这种方法不好)我没用。
2、通过php-java-bridge模块调用java。(经过网上普遍推荐)我使用了这张方法。
下面介绍如何在linux下安装这个包。
1、先安装java环境、apache、php等相关环境(安装方法略)。
2、下载php-java-bridge包(目前我用的是php-java-bridge-4.0.1.tar.gz)
tar xzvf php-java-bridge-4.0.1.tar.gz 解压
cd php-java-bridge-4.0.1(进入包目录)
phpize
./configure --disable-servlet --with-java=/usr/java/jdk1.5.0_06/,/usr/java/jdk1.5.0_06/jre --with-php-config=/var/eyou/php/bin/php-config
make;make install
到上面成功后那么安装就成功完成了。
开始配置php.ini
vi /var/eyou/php/lib/php.ini
到文件尾
#java 模块
extension="java.so"
[java]
java.java_home="/usr/java/jdk1.5.0_06/"(您的java安装目录)
java.java="/usr/java/jdk1.5.0_06/jre/bin/java"(在您的java安装目录下肯定会有这个的)
java.log_file="/var/log/php-java-bridge.log"(log文件具体位置)
java.classpath="/var/eyou/php/lib/php/extensions/no-debug-non-zts-20020429/JavaBridge.jar"(JavaBridge.jar所在位置)
java.libpath="/var/eyou/php/lib/php/extensions/no-debug-non-zts-20020429/"(存放自定义java class的地方)
java.log_level="2"(log级别)
写好上面的保存退出。
从新启动apache
<?php
phpinfo();
?>
看看能否找到java。如果有就证明成功安装了。
测试一下看看能不能用
vi java.php
<?php //java_require("./php_test.jar"); $system=new Java("java.lang.System"); print "Java version=".$system->getProperty("java.version")." "; $str=new Java("java.lang.String"); $str = "abc"; /* 下面是自定义的,一会在介绍。下面的程序成功运行感谢weipeng的技术支持 $userBook = new Java("php_test"); $userBook->test1 = "abc"; $userBook->test(); var_dump($userBook->test1); */ ?>