[精讚] [會員登入]
1334

[Centos7] 安裝sphinx+php7

在centos7上安裝sphinx,在PHP7上運作正確

分享此文連結 //n.sfs.tw/11054

分享連結 [Centos7] 安裝sphinx+php7@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 05:11:26 最後編修
2017-05-12 15:54:27 By 張○○
 

自動目錄

SPHINX似乎沒有跟上PHP7的更新腳步,還好有大陸的朋友提供了解決方法[1][2],到目前為止很有效。

OS

CentOS Linux release 7.3.1611 (Core)
PHP 7.0.18 (cli) (built: Apr 15 2017 07:09:11) ( NTS )
mysql  Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1  (Mysql客戶端)

安裝 SPHINX

# wget http://sphinxsearch.com/files/sphinx-2.3.1-1.rhel7.x86_64.rpm
# yum install sphinx-2.3.1-1.rhel7.x86_64.rpm

安裝 PHP library

下載
http://git.php.net/?p=pecl/search_engine/sphinx.git;a=snapshot;h=339e123acb0ce7beb2d9d4f9094d6f8bcf15fb54;sf=tgz

PHP 5.X請下載這個
http://git.php.net/?p=pecl/search_engine/sphinx.git;a=snapshot;h=7d9b13f64621bb0011743110b77e9f30c2f43b9b;sf=tgz

# tar zxvf sphinx-339e123.tar.gz
# cd sphinx-339e123
# phpize
# ./configure
# make
# make install

安裝完後自動會產生
/etc/php.d/sphinx.ini

如果沒有自動產生,就手動新增,裡面只有一行

extension=sphinx.so

/usr/lib64/php/modules/sphinx.so

# systemctl restart httpd

檢查是否有啟動
# php -m | grep 'sphinx'
sphinx

SPHINX設定

有關於sphinx的設定比較複雜,請參看 安裝SPHINX支援中文@新精讚

設定開機啟動
# systemctl enable searchd

啟動SPHINX
# systemctl start searchd

關閉SPHINX
# systemctl stop searchd

SPHINX狀態
# systemctl status searchd

 

錯誤排除

1. 程序起動如果失敗,請檢查  /var/run 中有沒有 sphinx的目錄,權限皆為 sphinx:sphinx

# ll /var/run/sphinx/
-rw-------. 1 sphinx sphinx 5 11月  2 10:42 searchd.pid

延伸閱讀

安裝SPHINX支援中文@新精讚

PHP for sphinx 函式庫安裝@新精讚

參考資料

[1] https://www.ddhigh.com/php/2017/02/28/php7-compile-sphinx-extension.html

[2] https://www.36nu.com/post/205.html

END

你可能感興趣的文章

[CENTOS7] 使用 logrotate 來整理mongo日誌檔 解決 mongo 的日誌檔不斷長大的問題

[Centos6] php5.3升級為php5.6 Centos6 + php5.6 升級

[Centos8] PHP7.2升級到7.4 在centos8中把php 7.2升到7.4版

DNS壓力測試工具queryperf 要怎麼知道我安裝的DNS是否能耐受的住網路上的攻擊或大量查詢,這裡有一個免費的工具 queryperf

[APACHE] PHP<5.5及 PHP>=5.5 安裝APC php5.5版後的apc只能手動安裝,此文包含php<5.5及php>=5.5兩種安裝方法

[Centos7] HTTPS/SSL憑證的SELINUX設置 把申請來的憑證檔放到指定的位置後,沒辦法啟動,怎麼辦?

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。