当前位置:首页>网络学院>程序开发>PHP教程>文章内容

PHP 调用 java类 常见配置错误

[ 来源:www.it55.com | 作者: | 时间:2007-07-13 | 收藏 | 推荐 ] 【

 

不搞PHP开发的工作很长时间了,最近修改一个原来做的项目要支持调用Java类,开始重操PHP,先解决配置问题再说。不说太多费话。网上的

vd;k;l www.it55.com rdfg

文章不少,但是都有很多错误的东西在里面,下面我介绍一下我配置全过程与大家分享,如有问题可以虽时联系愿意为你解决。

www.it55.com

说明:此文章的正常性只对本文中所提供版本的PHP和JDK有保证,其它版本的未一一试,如有问题及时联系愿与你一起解决相关问题。
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

安装配置PHP的工作这里就略过(有不会的朋友可以与我联系inber_net@hotmail.com)
 
测试环境:Windows2003+IIS+PHP Version 4.3.6+JDK 1.4.1_01

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

下面我先将网上的错误的配置列表罗列如下

sflj www.it55.com kg^&fgd

错误配置1
java.home = D:\j2sdk14101\
错误结果如下:
can't open D:\j2sdk14101\\lib\tzmappings.
解决办法:
java.home = D:\j2sdk14101\jre www.it55.com

错误配置2
java.class.path ="C:\PHP\extensions\php_java.jar;x:\Java Class文件存目录\
错误结果如下:
Fatal error: Call to a member function on a non-object in E:\inberkong\public_html\phproot\testjava.php on line
错误原因:用户Java class文件没有存放在 x:\Java Class文件存目录\ 中或者x:\Java Class文件存目录\不存在
解决办法:1 确定java.class.path ="C:\PHP\extensions\php_java.jar;x:\Java Class文件存目录\ 正确
          2 确定此目录下有在PHP调用的Class文件并确定是正确的 it55.com

www.it55.com

正确的配置如下: sflj www.it55.com kg^&fgd

第一步:确定环境正确
默认以上环境配置正确
PHP目录:C:\PHP
JDK目录:D:\j2sdk14101
第二步
找到C:\WINDOWS下的php.ini
1 找到extension_dir并配置 确保其目录上有php_java.jar php_java.dll
  extension_dir = "D:\PHP\extensions"
2 找到;extension=php_java.dll将此配置信息前的分号去掉
  extension=php_java.dll
3 文件找到[java]之后的东西配置相关内容
[Java]
java.class.path ="C:\PHP\extensions\php_java.jar;C:\PHP\php_for_class\"
java.home = D:\j2sdk14101\jre
java.library = D:\j2sdk14101\jre\bin\server\jvm.dll
java.library.path = C:\PHP\extensions\ www.it55.com在线教程
第三步 vd;k;l www.it55.com rdfg

写一个Java文件并编译后放在C:\PHP\php_for_class\
Test.java文件如下: www.it55.com在线教程

package Test;
public class Test
{
 public String getMessage(String dd)
 {
 return "<font color=green>Hello PHP ! I am  from JAVA.</font>"+dd;
 }  
} 免费资源www.it55.com

 写一个PHP文件testjava.php 调用Test包中的Test类
<?php IT资讯之家 www.it55.com

$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"; 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

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

IT资讯之家 www.it55.com

$b=new Java("Test.Test");
$x=$b->getMessage(" <br><font color=red>Hello Java! I am from PHP!</font>");
echo $x;

免费资源www.it55.com

?>
显示结果:
Java version=1.4.1_01
Java vendor=Sun Microsystems Inc.
OS=Windows XP 5.2 on x86
星期四,一月 12, 2006 at 3:00:51 下午 中国标准时间 www.it55.com在线教程

Hello PHP ! I am from JAVA.
Hello Java! I am from PHP!

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

(编辑:IT资讯之家 www.it55.com

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章