不搞PHP開發的工作很久了,最近修改一個原來做的專案要支援呼叫Java類,開始重操PHP,先解決設定問題再說。不說太多費話。網路上的文章不少,但是都有很多錯誤的東西在裡面,下面我介紹一下我配置全過程與大家分享,如有問題可以雖時聯繫願意為你解決。
說明:此文章的正常性只對本文中所提供版本的PHP和JDK有保證,其它版本的未一試,如有問題及時聯繫願與你一起解決相關問題。
安裝配置PHP的工作這裡就略過
測試環境:Windows2003+IIS+PHP Version 4.3.6+JDK 1.4.1_01
= D:j2sdk14101
錯誤結果如下:can't open D:j2sdk14101\libtzmappings.
解決方法:
java.home = D:j2sdk14101jre
:
錯誤配置221422sd. ;x:Java Class檔案存目錄
錯誤結果如下:
錯誤原因:使用者Java class檔案沒有存放在xroottestjava.php on line
錯誤原因:使用者Java class檔案沒有存放在xroottestjava.文件存目錄或x:Java Class文件存目錄不存在
解決方法:1 確定java.class.path ="C:PHPextensionsphp_java.jar;x:Java Class文件存目錄正確
2 確定此目錄下有在PHP呼叫的Class檔案並確定是正確的
預設以上環境配置正確
PHP目錄:C:PHPJDK目錄:D:j2sdk141015k14101步驟
找到C:WINDOWS下的php.ini
1 找到extension_dir並設定確保其目錄上有php_java.jar php_java.dll
extension_dir = "D:PHPextensions"
2 找到;extension=php_java.dllll」
2 找到;extension=php_java。的分號去掉
extension=php_java.dll
3 檔案找到[java]之後的東西設定相關內容
[Java]
java.class.path ="C:PHPextensionsphp_java.jar;C:PHPphp_for_class"
javahome =. D:j2sdk14101jre
java.library = D:j2sdk14101jrebinserverjvm.dll
java.library.path = C:PHPextensions
第三步驟
寫一個Java檔案並編譯後放在處理下個檔案package Test;
public class Test
public String getMessage(String dd)
{
$system = new Java("java.lang.System");
print "Java version=".$system->getProperty(" java.version")."
n";
print "Java vendor=".$system->getProperty("java.vendor")."
nn";
print "OS=".$system ->getProperty("os.name")." ".
$system->getProperty("os.version")." on ".
$system->getProperty("os.arch")."
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";
$b=new Java("Test.Test");
$x=$b->getMessage("
Hello Java! I am from PHP!
Java vendor=Sun Microsystems Inc. =Windows XP 5.2 on x86
星期四,一月12, 2006 at 3:00:51 下午中國標準時間
Hello PHP ! I am from JAVA.
Hello Java! I am from PHP!