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.x/bin路径是否加载到path中。这个设置将会使你在编译java类是变得更轻松。在win9x中加入
path=%path%;c:/jdk1.2.2/bin
到你系统的autoexec.bat 在nt的系统中加入
;c:/jdk1.2.2/bin
到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.2/jre/bin/classic/jvm.dll
java.library.path=c:/web/php4/extensions/
java.class.path="c:/web/php4/extensions/jdk1.2.2/php_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>/n";
print "java vendor=".$system->getproperty("java.vendor")." <p>/n/n";
print "os=".$system->getproperty("os.name")." ".
$system->getproperty("os.version")." on ".
$system->getproperty("os.arch")." <br>/n";
$formatter = new java("java.text.simpledateformat","eeee,
mmmm dd, yyyy 'at' h:mm:ss a zzzz");
print $formatter->format(new java("java.util.date"))."/n";
?>
这是一个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扩展已经安装成功。
新闻热点
疑难解答