php 調用 java類 常見配置錯誤

來源:互聯網
上載者:User
錯誤

不搞PHP開發的工作很長時間了,最近修改一個原來做的項目要支援調用Java類,開始重操PHP,先解決配置問題再說。不說太多費話。網上的

文章不少,但是都有很多錯誤的東西在裡面,下面我介紹一下我配置全過程與大家分享,如有問題可以雖時聯絡願意為你解決。

說明:此文章的正常性只對本文中所提供版本的PHP和JDK有保證,其它版本的未一一試,如有問題及時聯絡願與你一起解決相關問題。

安裝配置PHP的工作這裡就略過(有不會的朋友可以與我聯絡inber_net@hotmail.com)
 
測試環境: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!




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.