Home  >  Article  >  Backend Development  >  Linux 安装php sphinx模块

Linux 安装php sphinx模块

WBOY
WBOYOriginal
2016-06-23 13:13:241311browse

环境:

  Ubuntu 14.04  php5.59 mysql 5.5 

1.下载sphinx扩展 http://pecl.php.net/package/sphinx 选择需要的版本,然后解压并执行

root@iZ282i5hw2tZ:~/sphinx-1.1.0# /usr/bin/phpizeConfiguring for:PHP Api Version:         20121113Zend Module Api No:      20121212Zend Extension Api No:   220121212root@iZ282i5hw2tZ:~/sphinx-1.1.0# 

2.安装 libsphinxclient

root@iZ282i5hw2tZ:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# ./configure<br />root@iZ282i5hw2tZ:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# make && make install

 

3.安装sphinx模块

root@iZ282i5hw2tZ:~/sphinx-1.1.0# ./configure --with-php-config=/usr/bin/php-config --with-sphinx

root@iZ282i5hw2tZ:~/sphinx-1.1.0# make/bin/bash /root/sphinx-1.1.0/libtool --mode=compile cc  -I. -I/root/sphinx-1.1.0 -DPHP_ATOM_INC -I/root/sphinx-1.1.0/include -I/root/sphinx-1.1.0/main -I/root/sphinx-1.1.0 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/local/include  -DHAVE_CONFIG_H  -g -O2   -c /root/sphinx-1.1.0/sphinx.c -o sphinx.lo libtool: compile:  cc -I. -I/root/sphinx-1.1.0 -DPHP_ATOM_INC -I/root/sphinx-1.1.0/include -I/root/sphinx-1.1.0/main -I/root/sphinx-1.1.0 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/local/include -DHAVE_CONFIG_H -g -O2 -c /root/sphinx-1.1.0/sphinx.c  -fPIC -DPIC -o .libs/sphinx.o/root/sphinx-1.1.0/sphinx.c: In function 'php_sphinx_client_read_property':/root/sphinx-1.1.0/sphinx.c:105:2: error: too few arguments to function 'std_hnd->read_property'  retval = std_hnd->read_property(object, member, type TSRMLS_CC);  ^/root/sphinx-1.1.0/sphinx.c: In function 'zim_SphinxClient_updateAttributes':/root/sphinx-1.1.0/sphinx.c:1040:6: warning: passing argument 2 of 'memset' makes integer from pointer without a cast [enabled by default]      memset(vals_mva, NULL, values_mva_size);      ^In file included from /usr/include/features.h:374:0,                 from /usr/include/stdlib.h:24,                 from /usr/include/php5/main/php_config.h:2418,                 from /usr/include/php5/main/php.h:33,                 from /root/sphinx-1.1.0/sphinx.c:26:/usr/include/x86_64-linux-gnu/bits/string3.h:76:1: note: expected 'int' but argument is of type 'void *' __NTH (memset (void *__dest, int __ch, size_t __len)) ^/root/sphinx-1.1.0/sphinx.c: In function 'zm_startup_sphinx':/root/sphinx-1.1.0/sphinx.c:1888:43: warning: assignment from incompatible pointer type [enabled by default]  php_sphinx_client_handlers.read_property = php_sphinx_client_read_property;                                           ^make: *** [sphinx.lo] Error 1

这里有个报错,修改 sphinx.c 第105行为:

retval = std_hnd->read_property(object, member, type TSRMLS_CC, NULL);

然后编译即可通过

4 编辑 php.ini

extension=sphinx.so

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn