`

质疑:网络中关于php拓展java配置的解答。并请教

阅读更多

关于php中拓展java的问题的解答,我在网上找了些文章,但是大概都如村里的这个帖子相似http://www.phpx.com/happy/thr78795.html 

说明:我的php+apache2+mysql和jdk安装目录如下:
c:\HttpServ\php4
c:\HttpServ\php5
c:\HttpServ\apache2
c:\HttpServ\mysql
c:\j2sdk1.4

在php.ini中加入了如下代码:
[java] 
extension=php_java.dll 
java.library.path=c:\HttpServ\php4\extensions\ 
java.class.path="c:\HttpServ\php4\extensions\j2sdk1.4\php_java.jar;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"; 

?> 
[/php]
但是运行后出错:
Fatal error: Cannot instantiate non-existent class: java in D:\WWWROOT\java.php on line 3
(注:我的document_root=D:\WWWROOT)

我对上面的代码又作了一下修改
将 java.class.path="c:\HttpServ\php4\extensions\j2sdk1.4\php_java.jar;c:\myclasses"
改为:java.class.path="c:\HttpServ\php4\extensions\php_java.jar;c:\myclasses"
也就是这个语句我不懂,不知道是干什么的,我再想,我的c:\HttpServ\php4\extensions\下面没有j2sdk1.4这个目录,而直接有php_java.jar,所以也就改了(见笑了);
但是改了之后还是不行,还是那个错误。

我在网上又找了个类似的配置如下:
文章地址:http://www.channel7.cn/2004/12-30/174713.html 
其中原来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"

我改后代码如下:
[java] 
extension=php_java.dll 
java.home = C:\j2sdk1.4 
java.library = c:\j2sdk1.4\jre\bin\server\jvm.dll 
java.library.path=c:\HttpServ\php4\extensions\ 
java.class.path="c:\HttpServ\php4\extensions\php_java.jar;c:\MyClasses"
其中
java.library = c:\jdk1.2.2\jre\bin\CLASSIC\jvm.dll 
我发觉我的c:\j2sdk1.4\jre\bin\目录下更本没有CLASSIC文件夹(也许是版本的问题吧),只有server和client,这两个文件夹类各有各jvm.dll,我两次都尝试了,但是还是不行,还是那个错误。

[java] 
2 extension=php_java.dll 
3 java.home = C:\j2sdk1.4 
4 java.library = c:\j2sdk1.4\jre\bin\server\jvm.dll 
5 java.library.path="c:\HttpServ\php4\extensions\;c:\j2sdk1.4\jre\lib" 
6

java.class.path="c:\HttpServ\php4\extensions\php_java.jar;c:\myclasses;c:\j2sdk1.4\lib\dt.jar;c:\j2sdk1.4\lib\tools.jar;c:\j2sdk1.4\bin;" 

 

 

 

 

 

Fatal error: Cannot instantiate non-existent class: java in D:\WWWROOT\java.php on line 3 

先别忙加自己的类库, 纯粹用标准库试完再说, 你的 C: 下面有 myclasses 这个目录吗? 
java.library.path= c:\HttpServ\php4\extensions\ 最后不要加斜杠, 应该是 java.library.path= c:\HttpServ\php4\extensions

[java]
extension=php_java.dll
java.home = C:\j2sdk1.4\jre
java.library = c:\j2sdk1.4\jre\bin\server\jvm.dll
java.library.path= c:\HttpServ\php4\extensions
java.class.path= c:\HttpServ\php4\extensions\php_java.jar 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics