Heim > Backend-Entwicklung > PHP-Tutorial > Linux 安装php sphinx模块

Linux 安装php sphinx模块

WBOY
Freigeben: 2016-06-23 13:13:24
Original
1334 Leute haben es durchsucht

环境:

  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# 
Nach dem Login kopieren

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
Nach dem Login kopieren

3.安装sphinx模块

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

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
Nach dem Login kopieren

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

retval = std_hnd->read_property(object, member, type TSRMLS_CC, NULL);
Nach dem Login kopieren

然后编译即可通过

4 编辑 php.ini

extension=sphinx.so
Nach dem Login kopieren

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage