由于公司业务的需要,最近要在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.gzcd apache_1.3.27./configure –prefix=/usr/local/apache –enable-module=so –enable-shared=maxmakemake install
3.编译安装php
tar zvxf php-4.3.2.tar.gzcd 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_03makemake 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.jarjava.home = /usr/java/j2sdk1.4.1_03java.library = /usr/java/j2sdk1.4.1_03/jre/lib/i386/libjava.sojava.library.path =/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429extension=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
ok!重启一下apache
/usr/local/apache/bin/apachectl start
测试一下,写个测试页test.php
<?$system=new Java("java.lang.System");//demonstrate property accessprint 'Java version='.$system->getProperty('java.version').' <br>';?>
正常的话页面应该能显示:Java version=1.4.1_03