Linux 安裝php sphinx模塊

環境:php

  Ubuntu 14.04  php5.59 mysql 5.5 mysql

1.下載sphinx擴展 http://pecl.php.net/package/sphinx 選擇須要的版本,而後解壓並執行linux

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.安裝 libsphinxclientsql

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模塊api

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行爲:bash

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

而後編譯便可經過spa

4 編輯 php.ini.net

extension=sphinx.so
相關文章
相關標籤/搜索