准备源码包:sphinx-2.1.1;Sphinx的PHP模块:sphinx-1.1.0;结合中文分词的sphinx:coreseek-3.2.14
安装sphinx
上传sphinx源码包到服务器,解压并安装:tar -zxvf sphinx-2.1.1 cd sphinx-2.1.1 ./configure --prefix=/usr/local/sphinx --with-mysql=/usr make && make install;
这里配置./configure的时候遇到问题:configure:error:invalid MySQL root directore 'usr/bin';neither bin/mysql_config,nor include/ and lib/ were found where。
因为之前mysql是一键安装的,所以安装目录分散在多个地方,不知道--with应该写哪一个目录。试了所以目录都没有作用,百度查找答案发现是少了libmysqlclient-dev,
于是安装libmysqlclient-dev;此时又有报错:提示没有源,运行命令更新源:apt-get update;然后继续执行:apt-get install libmysqlclient-dev
继续执行./configure成功然后make && make install
将sphinx安装为PHP模块
安装为模块之前先得安装libsphinxclient。将coreseek-3.2.14源码包上传到服务器解压tar-zxvf coreseek-3.2.14
然后进入coreseek-3.2.14/csft-3.2.14/api目录
看到有一个libsphinxclient的目录,进入该目录cd libsphinxclient
执行命令:./configure
然后编译并安装:make && make install
这时可以去安装PHP sphinx模块:
上传sphinx-1.1.0.tgz然后解压进入;接着运送phpize指令;会出现configure指令
配置:./configure --with-php-config=/usr/bin/php-config(路径根据自己的实际路径写)
然后编译:make
这里会有个报错:make: *** [sphinx.lo] Error 1
将sphinx.c的105行修改为如下:
retval = std_hnd->read_property(object, member, type TSRMLS_CC, NULL);
然后:make && make install
安装成功:
最后在php.ini文件中加上:
extension=sphinx.so
然后重启服务器:查看phpinfo
完成!
软件下载百度云连接: https://pan.baidu.com/s/1RrGlG6ZmSDVOJ6K-VgHXEg 密码: yaan