Home > Backend Development > PHP Tutorial > Linux 安装php sphinx模块

Linux 安装php sphinx模块

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-23 13:13:24
Original
1351 people have browsed it

环境:

  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# 
Copy after login

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
Copy after login

3.安装sphinx模块

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

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
Copy after login

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

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

然后编译即可通过

4 编辑 php.ini

extension=sphinx.so
Copy after login

 

Related labels:
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template