PHP調用java類常見配置錯誤
安裝配置PHP的工作這里就略過
測試環境:Windows2003+IIS+PHP Version 4.3.6+JDK 1.4.1_01
下面我先將網上的錯誤的配置列表羅列如下:
錯誤配置1
java.home = D:\j2sdk14101\
錯誤結果如下:
can't open D:\j2sdk14101\\lib\tzmappings.
解決辦法:
java.home = D:\j2sdk14101\jre
錯誤配置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文件并確定是正確的
正確的配置如下:
第一步:確定環境正確
默認以上環境配置正確
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\
第三步
寫一個Java文件并編譯后放在C:\PHP\php_for_class\
Test.java文件如下:
package Test;
public class Test
{
public String getMessage(String dd)
{
return "<font color=green>Hello PHP ! I am from JAVA.</font>"+dd;
}
}
寫一個PHP文件testjava.php 調用Test包中的Test類
<?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"))."<br><BR>\n";
$b=new Java("Test.Test");
$x=$b->getMessage(" <br><font color=red>Hello Java! I am from PHP!</font>");
echo $x;
?>
顯示結果:
Java version=1.4.1_01
Java vendor=Sun Microsystems Inc.
OS=Windows XP 5.2 on x86
星期四,一月 12, 2006 at 3:00:51 下午 中國標準時間
Hello PHP ! I am from JAVA.
Hello Java! I am from PHP!
關鍵字:PHP、調用、配置
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解