Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Sphinx php 安装设置

Sphinx php 安装设置

作者头像
上山打老虎了
发布于 2022-06-14 13:31:10
发布于 2022-06-14 13:31:10
98700
代码可运行
举报
文章被收录于专栏:ArticleArticle
运行总次数:0
代码可运行

首先下载 sphinx 最新版 2.2.11-release  http://sphinxsearch.com/downloads/release/

sphinx php扩展下载地址(目前已经支持php7):http://git.php.net/?p=pecl/search_engine/sphinx.git;a=shortlog;h=refs/heads/php7

scws下载地址:http://www.xunsearch.com/scws/download.php

scws词库下载地址:http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2

安装 sphinx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf sphinx-2.2.11-release.tar.gz  
cd sphinx-2.2.11-release  
./configure --prefix=/usr/local/sphinx2 --with-mysql=/usr/local/mysql  
make && make install  

有可能会出现下面的错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
Makefile:392: recipe for target 'sphinx.o' failed
make[2]: *** [sphinx.o] Error 4
make[2]: Leaving directory '/home/sphinx-2.2.11-release/src'
Makefile:244: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/sphinx-2.2.11-release/src'
Makefile:331: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

解决办法就是 修改 configure 文件把 #define USE_LIBICONV 0 最后的数值由1改为0 重新编译。

另外,编译过程中 512内存的机子如果内存不足的话会碰到

g++: internal compiler error: Killed (program cc1plus) 的报错。

安装 sphinx 客户端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd api/libsphinxclient   //sphinx-2.2.11-release目录下  
./configure --prefix=/usr/local/sphinx2/libsphinxclient  
 make && make install

安装 sphinx php 扩展

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 tar zxvf sphinx-339e123.tgz  
 cd sphinx-339e123 
 phpize  
 ./configure --with-sphinx=/usr/local/sphinx2/libsphinxclient --with-php-config=/usr/bin/php-config  
 make && make install

安装 scws

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar xvjf scws-1.2.3.tar.bz2  
# mkdir /usr/local/scws  
# cd scws-1.2.3  
# ./configure --prefix=/usr/local/scws/  
# make && make install

安装 scws php 扩展

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# cd ./phpext/  
# phpize  
# ./configure --with-php-config=/usr/local/php/bin/php-config  
# make && make install

安装 scws 词库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# tar xvjf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/  
  
# chown www:www /usr/local/scws/etc/dict.utf8.xdb

配置 php.ini

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# vim /usr/local/php/etc/php.ini  
[sphinx]  
extension = sphinx.so  
  
[scws]  
extension = scws.so  
scws.default.charset = utf-8  
scws.default.fpath = /usr/local/scws/etc

重启 php-fpm 即可完成安装

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年08月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
asp.net web api 版本控制
版本控制 版本控制的方法有很多,这里提供一种将Odata与普通web api版本控制机制统一的方法,但也可以单独控制,整合控制与单独控制主要的不同是:整合控制通过VersionControllerSelector来选择控制器过滤器,而不是直接选择控制器。 采用此机制来控制版本,应按照如下规则命名控制器: 自定义标识符+版本+Controller 自定义标识符:能体现控制器含义的字符串 版本:表示版本的字符串,例如:V1,V1.0;不建议使用V1.0这样的写法,因为这样控制器名称会相当怪异,如果表示小版本号
甜橙很酸
2018/03/08
1.9K0
asp.net web api 版本控制
Asp.Net Web API 2第六课——Web API路由和动作选择
      Asp.Net Web API第一课——入门http://www.cnblogs.com/aehyok/p/3432158.html
aehyok
2018/08/31
1.1K0
Asp.Net Web API 2第六课——Web API路由和动作选择
Asp.Net Web API(三)
    在Asp.Net Web API中,一个控制器就是一个处理HTTP请求的类,控制器的public方法就被叫做action方法或简单的Action。当Web API接收到一个请求的时候,它将这个请求路由到一个Action。
莫问今朝
2018/08/31
1.9K0
Asp.Net Web API(三)
Asp.Net Web API 2第八课——Web API 2中的属性路由
阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html
aehyok
2018/08/31
1K0
Asp.Net Web API 2第八课——Web API 2中的属性路由
asp.net web api 构建api帮助文档
1 概要 创建ASP.NET Web Api 时模板自带Help Pages框架。 2 问题 1)使用VS创建Web Api项目时,模板将Help Pages框架自动集成到其中,使得Web Api项目引入了MVC框架开发包,使得项目看起来杂乱。 2)自带的Help Pages框架无法针对Odata控制器生成API文档。 3 问题解决方案 1)独立Help Pages项目,以插件形式添加服务 步骤1,添加类ServiceAssembliesResolver,获得服务集    /// <summary>
甜橙很酸
2018/03/08
1.3K0
打造属于自己的支持版本迭代的Asp.Net Web Api Route
    在目前的主流架构中,我们越来越多的看到web Api的存在,小巧,灵活,基于Http协议,使它在越来越多的微服务项目或者移动项目充当很好的service endpoint。 问题     以Asp.Net Web Api 为例,随着业务的扩展,产品的迭代,我们的web api也在随之变化,很多时候会出现多个版本共存的现象,这个时候我们就需要设计一个支持版本号的web api link,比如: 原先:http://www.test.com/api/{controller}/{id} 如今:http:
脑洞的蜂蜜
2018/02/01
8910
打造属于自己的支持版本迭代的Asp.Net Web Api Route
WebApi的多版本管理
1.多版本管理概念      什么是API的多版本问题?Android等App存在着多版本客户端共存的问题:由于早期没有内置升级机制,用户不会升级,拒绝升级等原因,造成了许多软件的旧版本App也在运行
莫问今朝
2018/08/31
1.5K0
WebApi的多版本管理
ASP.NET Web API编程——控制器
1控制器操作的参数 控制器操作的参数可以是内置类型也可以是自定义类型,无参也是允许的。 2控制器操作返回值 类型 说明 void 操作返回值为void时,Web API返回空HTTP响应,其状态码为204(无内容) HttpResponseMessage Web api会将此返回值直接转换为HTTP消息 IHttpActionResult 接口形式 内置类型或自定义类型 无 2.1返回值为HttpResponseMess
甜橙很酸
2018/04/17
2.5K0
asp.net core之路由
在 ASP.NET Core 中,路由是一个非常重要的概念,它决定了如何将传入的请求映射到相应的处理程序。本文将详细介绍 ASP.NET Core 中的路由系统,包括路由的基本原理、路由模板、路由参数、路由约束等内容,并提供相应的代码示例。
饭勺oO
2023/10/18
3370
asp.net core之路由
ASP.NET MVC5高级编程 ——(5)路由
这章呢,我们开始讲ASP.NET MVC5中的路由机制,在这之前,先提一下URL(Uniform Resource Locator)-- 统一资源定位符。需要注意的是,这里的“资源”这个词,是一个抽象的概念,既可以指一个文件,也可以指一个方法、一个类或是一段代码。由此我们引出了路由的主要用途:
浩Coding
2019/07/03
2.3K0
Asp.net web api 知多少
本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希
圣杰
2018/01/11
5.4K0
Asp.net web api 知多少
Asp.Net Web API 2第五课——Web API路由
    Asp.Net Web API第一课——入门 http://www.cnblogs.com/aehyok/p/3432158.html
aehyok
2018/08/31
1.4K0
Asp.Net Web API 2第五课——Web API路由
【ASP.NET Core 基础知识】--Web API--创建和配置Web API(一)
Web API(Web Application Programming Interface)的重要性在于其在现代软件开发中扮演着关键的角色。以下是一些关于Web API重要性的方面:
喵叔
2024/05/24
1.6K0
【ASP.NET Core 基础知识】--Web API--创建和配置Web API(一)
ASP.NET Web API的Controller是如何被创建的?
Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象。调用请求的URI会携带目标HttpController的名称,该名称经过路由解析之后会作为路由变量保存到一个HttpRouteData对象中,而后者会被添加到代表当前请求的HttpRequestMessage对象的属性字典中。ASP.NET Web API据此解析出目标HttpController的类型,进而实现针对目标HttpControlle
蒋金楠
2018/01/15
1.6K0
ASP.NET Web API编程——模型验证与绑定
1.模型验证 使用特性约束模型属性 可以使用System.ComponentModel.DataAnnotations提供的特性来限制模型。 例如,Required特性表示字段值不能为空,Range特性限制数值类型的范围。 对实体类使用特性后,可以使用ModelState.IsValid来判断验证是否通过。 例: 实体: public class DataModel { public int Id { get; set; } public string Field1Nam
甜橙很酸
2018/04/18
3.1K0
ASP.NET Web API编程——模型验证与绑定
【ASP.NET Core 基础知识】--路由和请求处理--Attribute路由
在ASP.NET Core中,路由是将传入的URL请求映射到正确的控制器和操作的方法。Attribute路由是一种基于属性,用于定义路由规则的方式,通过在控制器类和操作方法上应用特定的属性,来定义URL模板。
喵叔
2024/05/24
3110
asp.net web api 使用Odata
路由配置 routePrefix路由前缀,必须含有Odata字符串,否则路由不到Odata控制器。 V1表示版本,可以使用这种方式进行版本控制,也可以使用其他方式。 config.Count().Filter().OrderBy().Expand().Select().MaxTop(null);这样配置使Odata操作符可用(Web Api2的旧版本不必如此设置)。 public static class WebApiConfig { public static void Register(
甜橙很酸
2018/03/08
1.5K0
ASP.NET Core 设置 WebAPI 响应数据的格式—FormatFilter特性篇
在上一篇《ASP.NET Core 设置Web API 响应的数据格式——Produces 特性篇》老周已向各位介绍过 Produces 特性的使用,本文将介绍另一个特性类:FormatFilterAttribute。
郑子铭
2022/03/22
1.7K0
ASP.NET Core 设置 WebAPI 响应数据的格式—FormatFilter特性篇
.Net Core 路由处理
  用户请求接口路由,应用返回处理结果。应用中如何匹配请求的数据呢?为何能如此精确的找到对应的处理方法?今天就谈谈这个路由。路由负责匹配传入的HTTP请求,将这些请求发送到可以执行的终结点。终结点在应用中进行定义并且在应用启动的时候进行配置,也就是在中间件中进行处理。
小世界的野孩子
2021/04/13
7790
【ASP.NET Core 基础知识】--路由和请求处理--路由概念(一)
在Web应用中,路由是一个至关重要的概念,它负责将用户的请求映射到相应的处理程序,以确保正确的页面或资源被呈现给用户。通过将用户请求与适当的处理程序关联起来,使得应用能够以有序和可维护的方式响应用户的操作。
喵叔
2024/01/18
8190
推荐阅读
相关推荐
asp.net web api 版本控制
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验