首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

RedHat 9.0 編譯安裝 PHP 支援 Java:Apache、JDK、PHP 三合一配置實戰

     編輯:PHP 綜合知識

系統環境

  • RedHat 9.0
  • Apache 1.3.27
  • MySQL 3.23.54a
  • PHP 4.3.2
  • JDK 1.4.1_03 (/usr/java/j2sdk1.4.1_03)

編譯安裝步驟

1. Apache 編譯

tar zxvf apache_1.3.27.tar.gz
cd apache_1.3.27
./configure --prefix=/usr/local/apache --enable-module=so --enable-shared=max
make && make install

2. PHP 編譯(關鍵:--with-java 指定 JDK 路徑)

tar zxvf php-4.3.2.tar.gz
cd php-4.3.2
./configure --prefix=/usr/local/php --with-mysql \
  --with-apxs=/usr/local/apache/bin/apxs \
  --with-java=/usr/java/j2sdk1.4.1_03
make && make install

3. Apache 配置 PHP 支援

# /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

4. PHP.ini Java 區段配置

cp php.ini-dist /usr/local/php/lib/php.ini
vim /usr/local/php/lib/php.ini

[Java]
java.class.path = /usr/local/php/lib/php/php_java.jar
java.home = /usr/java/j2sdk1.4.1_03
java.library = /usr/java/j2sdk1.4.1_03/jre/lib/i386/libjava.so
java.library.path = /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension=java.so

5. 關鍵符號連結(解決模組載入失敗)

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
ln -s java.so libphp_java.so

6. 環境變數與啟動

export LD_LIBRARY_PATH=/usr/java/j2sdk1.4.1_03/jre/lib/i386:/usr/java/j2sdk1.4.1_03/jre/lib/i386/server
/usr/local/apache/bin/apachectl start

驗證測試

<?php
$sys = new Java('java.lang.System');
echo 'Java version: ' . $sys->getProperty('java.version'); 
// 預期輸出: Java version=1.4.1_03
?>

避坑總結

  • --with-java 必須指向 JDK 根目錄(含 include、lib)
  • libphp_java.so 符號連結不可省略
  • LD_LIBRARY_PATH 必須包含 client 和 server 兩個 JVM 库目錄
  • PHP 4.3.x 系列較穩定,PHP 5.x 需對應 php_java.jar 版本
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved