參考網上一篇教程,結合自己遇到的一些問題,把文檔整理了一遍,希望對大家有幫助!我的系統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
。如果有就證明成功安裝了。
<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="圖片_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75" alt="說明: 大笑" style='width:15.75pt;height:15.75pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\yj\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif" o:title="大笑" /> </v:shape><![endif]--><!--[if !vml]-->
<!--[endif]-->
測試一下看看能不能用
注意 : 我們使用的時候還要啟動 Javabridge.jar (不過一般會自動啟動) ? 用 java –jar xxx/javabridge.jar 命令( javabridge 啟動與否可以再 phpinfo 頁面 java 模塊中看到)
而且 php 中還得 require_once(‘Java.inc’);
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);
*/
?>
運行上面的東東可以看到調用 java 成功了吧。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
