參考網上一篇教程,結合自己遇到的一些問題,把文檔整理了一遍,希望對大家有幫助!我的系統Centos5.8
PS:本人新手,第一篇博客希望大家支持和幫助!
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,老版本的不支持java_require)
tar xzvf php-java-bridge-4.0.1.tar.gz 解壓
cd php-java-bridge-4.0.1(進入包目錄)
phpize (要確定phpize在系統變量中,如不在需配置或者直接將php/bin中phpize拷入bin)
./configure --disable-servlet --with-java=/usr/java/jdk1.7.0_05/,/usr/java/jdk1.7.0_05/jre --with-php-config=/usr/local/php/bin/php-config(在packetfencezen中出現configure: error: /bin/sh './configure.gnu' failed for server要加上—disable-backend)
make;make install
到上面成功後那麼安裝就成功完成了。
開始配置php.ini
vi /usr/local/lib/php.ini
到文件尾添加
#java 模塊
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/java.so
[java]
java.java_home="/usr/java/jdk1.7.0_05/"(您的java安裝目錄)
java.java="/usr/java/jdk1.7.0_05/jre/bin/java"(在您的java安裝目錄下肯定會有這個的)
java.log_file="/var/log/php-java-bridge.log"(log文件具體位置)
java.classpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/JavaBridge.jar"(JavaBridge.jar所在位置)
java.libpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"(存放自定義java class的地方)
java.log_level="2"(log級別)
寫好上面的保存退出。
從新啓動apache
<?php
phpinfo();
?>
看看能否找到java。如果有就證明成功安裝了。
測試一下看看能不能用
注意:我們使用的時候還要啓動Javabridge.jar(不過一般會自動啓動) 用java –jar xxx/javabridge.jar命令(javabridge啓動與否可以再phpinfo頁面java模塊中看到)
而且php中還得require_once(‘Java.inc’);
創建一個php文件測試:
vi java.php
<?php
$system=new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")." ";
$str=new Java("java.lang.String");
$str = "abc";
?>
運行上面的php可以看到調用java成功了吧。