Linux 安装php sphinx模块

环境:

  Ubuntu 14.04  php5.59 mysql 5.5 

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

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

2.安装 libsphinxclient

root@iZ282i5hw2tZ:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# ./configure
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

 

posted @ 2016-03-23 22:09  unfindable  阅读(1962)  评论(0编辑  收藏  举报