最近在Linux下的PHP支持Java类,我把调试笔记经过整理总结后写出来,希望对大家今后的调试会有所帮助。

系统环境:

Redhat 9.0

Apache-1.3.27

Mysql3.23-54a-11

Php-4.32

j2sdk1.4.1_03

安装配置:

1.mysql使用的是redhat9自带的rpm包,不介绍安装了,jdk的安装也很简单,我们把jdk安装到/usr/java/j2sdk1.4.1_03 并在/etc/profile配置jdk环境参数。

2.编译安装apache

tar zvxf 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

3.编译安装php

tar zvxf 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

修改/usr/local/apache/conf/httpd.conf ,查找 ,在此范围添加

AddType application/x-httpd-php .php

            AddType application/x-httpd-php-source .phps

4.配置php.ini

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

vim 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

保存退出。

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 ln –s java.so libphp_java.so 这一步很重要哦!

配置环境变量:

export LD_LIBRARY_PATH = /usr/java/j2sdk1.4.1_03/jre/lib/i386:/usr/java/j2sdk1.4.1_03/jre/lib/i386/server 好!重启一下apache/usr/local/apache/bin/apachectl start

测试一下,写个测试页test.php

<?

            $system=new Java("java.lang.System");

            //demonstrate property access

            print 'Java version='.$system->getProperty('java.version').' <br>';

            ?>

正常的话页面应该能显示:Java version=1.4.1_03