top
Loading...
PHP中的Java擴展
Java的易擴展性是它極其的令人興奮的用途之一,通過學習如何使用這個模塊,你可以擴展所有的可用到的Java類。為了使您了解到Java擴展性的基礎,本篇文章包括系統的安裝和一些PHP和Java一起使用的代碼例子。

Windows下安裝

以下的配置是基于Apache 1.3.12, PHP 4.0.3 (您可以在www.php4win.de下載)和JDK1.2.2 (您可以在java.sun.com下載)。我們已經在更老版本的JDK和Windows 95, Windows 98 and NT4下的各種的MS webservers(PWS和IIS)嘗試過這種安裝配置。

第一步:安裝JDK
這個過程想當簡單,由于JDK的安裝沒有過多的問題,但你需要做的是查看你的系統環境(在Windows9X中的autoexec.bat和NT環境下“控制面板”中的“系統”)并且確認JDK1.x.xin路徑是否加載到path中。這個設置將會使你在編譯Java類是變得更輕松。在Win9x中加入

PATH=%PATH%;C:jdk1.2.2in

到你系統的autoexec.bat 在NT的系統中加入

;C:jdk1.2.2in

到Path環境變量的末端。在系統中的autoexec.bat的標注是十分重要的。PHP的Java擴展將會忽JAVA_HOME和CLASSPATH在系統中的安裝路徑,這樣一來,在php.ini中正確的設置這些項目就是十分的重要了。

第二步:修改你的php.ini
你需要加入如下的幾項到你的php.ini文件

[java]
extension=php_java.dll
java.home = C:jdk1.2.2
java.library = c:jdk1.2.2jreinCLASSICjvm.dll
java.library.path=c:webphp4extensions
java.class.path="c:webphp4extensionsjdk1.2.2php_java.jar;c:myclasses"

具有代表性的問題是,有些人會把extension=php_java.dll與其它的extensions在php.ini文件中放在一起,但是它正確的位置應該是在php.ini文件中的[java]下面。java.library.path一定是在php_java.dll中被設置好的,并且java.class.path中一定要包含php_java.jar的路徑。java.class.path還要加入其它你可能使用其它的類的路徑,正如上面所舉的例子中的c:myclasses,或者你也可以只寫前面的那段路徑。

第三步:測試你的安裝成果
現在,你可以建立一了類似于這樣的一段php程序了:
<?php

$system = new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")." <br>";
print "Java vendor=".$system->getProperty("java.vendor")." <p>";
print "OS=".$system->getProperty("os.name")." ".
$system->getProperty("os.version")." on ".
$system->getProperty("os.arch")." <br>";

$formatter = new Java("java.text.SimpleDateFormat","EEEE,
MMMM dd, yyyy 'at' h:mm:ss a zzzz");
print $formatter->format(new Java("java.util.Date"))."";

?>
這是一個Sam Ruby做的例子。如果你把沒一項都設置好的話,你將會看到象這樣的結果:
Java version=1.2.2
Java vendor=Sun Microsystems Inc.
OS=Windows 95 4.10 on x86
Wednesday, October 18, 2000 at 10:22:45 AM China Standard Time

(譯者注:在本人的機器上運行的結果:
Java version=1.2.2
Java vendor=Sun Microsystems Inc.
OS=Windows 95 4.90 on x86
星期三, 三月 28, 2001 at 1:44:33 下午 GMT+08:00 )

這是一個非常簡單的例子,但它可以告訴你用php如何訪問java類,一旦你能讓這個例子轉起來,就說明你的php的java擴展已經安裝成功。

北斗有巢氏 有巢氏北斗