分类:
2006-05-29 15:14:26
1.在,下载clucene 0.9.10
2.编译clucene
tar xzvf clucene-0.9.10.tar.gz
cd clucene-0.9.10
./autogen.sh
./configure
make
3.为了让其它程序可以调用clucene,这里把编译好的lib放到系统lib目录下
cp src/.libs/libclucene.* /usr/local/lib
cp src/CLucene.h /usr/local/include/
cp -r src/CLucene /usr/local/include/
4.下载安装clucene php extension
tar xzvf clucene-0.0.9.tgz
cd clucene-0.0.9
cp -r /usr/local/include/Clucene include/ #编译时要把clucene的include文件弄一份
cp -r /usr/local/include/Clucene.h include/
phpize
./configure
make
编译完成,这里会生成一个clucene.so,我们把它放在php的扩展目录下,然后修改php.ini
加入
extension=clucene.so
完成!
二、安装php-javabridge
php-javabridge比起pecl的java扩展有着多方面的优势,下面介绍一下在linux下安装javabridge的过程
1、首页要安装jdk
下载jdk-1_5_0_05-linux-i586.bin
复制到/usr/local目录
为jdk*.bin加上执行权限chmod +x jdk...*.bin
运行安装
./ jdk-1_5_0_05-linux-i586.bin
建立符号连接
ln -s jdk-1_5_0_05-linux-i586 jdk
设置环境变量:
编辑/etc/profile
加入或修改:
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib
修改原来的export语句为:
export JAVA_HOME CLASSPATH PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
2、安装javabridge(假设您的apache+php已经安装好)
在sf上下载javabridge的源码版,解压
tar -jxvf php-java-bridge_3.1.0devel4.tar.tar
cd php-java-bridge*xxx
/path-php-install/bin/phpize
./configure --with-java=$JAVA_HOME --with-php-config=/path-php-install/bin/php-config
make && make install
完成后,会在php安装目录的lib/php/extensions下有一个目录(目录名可能有所不同),将该目录的下的所有文件复制到php.ini中指定的extension_dir,当然,您也可以以前为extension_dir
修改php.ini,加入
extension=java.so
[java]
java.java_home="/usr/local/jdk"
java.java="/usr/local/jdk/jre/bin/java"
java.log_file="/var/log/php-java-bridge.log"
java.classpath="/web/php/ext/JavaBridge.jar"
java.libpath="/web/php/ext/"
重启apache,看看是否成功了!(成功后,phpinfo中有java扩展,并且java status一栏的值为running
特别注意:
1、phpize需在解压后的源码包下执行,执行后生成configure脚本
2、运行./configure时,如果提示
configure: error: Cannot find php-config. Please use --with-php-config=PATH
请使用:
./configure --with-php-config=/php-install-path/bin/php-config #而不是使用php.ini
3、php.ini中
java.libpath="/web/php/ext/ 是指安装后包含有jar等全部文件的目录,
默认值类似:/php-install-path/lib/php/extensions/no-debug-non-zts-20050922