coreseek,php,mysql全文检索部署(三)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介:

7.动态添加php扩展模块,使php支持sphinx的类和方法

 首先下载源码包:

root@CC-57:~# wget http://pecl.php.net/get/sphinx-1.3.0.tgz

root@CC-57:~# cd coreseek-3.2.14/csft-3.2.14/api/libsphinxclient/

root@CC-57:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# ./configure; make; make install

root@CC-57:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# cd

root@CC-57:~# tar zxvf sphinx-1.3.0.tgz

root@CC-57:~# cd sphinx-1.3.0

root@CC-57:~/sphinx-1.3.0# /var/www/xxxx/php-cgi/bin/phpize

root@CC-57:~/sphinx-1.3.0# ./configure --with-php-config=/var/www/xxxx/php-cgi/bin/php-config --with-sphinx

root@CC-57:~/sphinx-1.3.0# make; make install

root@CC-57:~/sphinx-1.3.0# cd

root@CC-57:~# cp /root/sphinx-1.3.0/modules/sphinx.so /var/www/xxxx/php-cgi/ext/

root@CC-57:~# vi /var/www/xxxx/php-cgi/etc/php.ini

添加  extension=sphinx.so

root@CC-57:~# /var/www/xxxx/php-cgi/sbin/php-fpm restart

Shutting down php_fpm . done

Starting php_fpm  done

查询页面代码:

      $keyword = urldecode(trim(strip_tags($_GET['keyword'])));

       echo 'keyword=='.$keyword;

       if ($keyword) {

               // sphinx服务器地址

               $server = '114.113.152.186';

               // 端口

               $port = 9312;

               // 索引名 为*时表示搜索所有索引

               $indexName = 'ccvms_video_main';

               // 分页页码

       //      $page = intval($_GET['page']) > 1 ? intval($_GET['page']) : 1;

               // 每页显示的数量

               $pageSize = 30;

               $sphinx = new SphinxClient();

               // 建立连接

               $sphinx->SetServer($server, $port);

               // 连接超时时间(非常必要,比如sphinx服务器挂了等异常情况) 单位为s,秒

       //      $sphinx->SetConnectTimeout(3);

               // 最大查询时间 单位为ms,毫秒

       //      $sphinx->SetMaxQueryTime(2000);

               // 按分页取结果

       //      $sphinx->SetLimits(($page-1)*$pageSize, $pageSize); //第一个参数为offset,第二个参数为limit

               // 模式

               $sphinx->SetMatchMode(SPH_MATCH_ALL);

               //$sphinx->SetMatchMode(SPH_MATCH_ALL);

               // 取到的原始数据

               $orgDatas = $sphinx->query($keyword, $indexName);

               echo 'orgDatas==';

               print_r($orgDatas);

               // 调试用,如果有错误的话,可以打印$errors的值

               $errors = $sphinx->GetLastError();

               echo 'errors==';

               var_dump($errors);

       }




     本文转自ljl_19880709 51CTO博客,原文链接:http://blog.51cto.com/luojianlong/1345683,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
8 1
|
7天前
|
关系型数据库 MySQL Linux
Linux下怎么快速部署MySQL服务,并使用
Linux下怎么快速部署MySQL服务,并使用
23 5
|
14天前
|
关系型数据库 MySQL Docker
docker部署mysql
docker部署mysql
28 1
|
17天前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
|
1天前
|
关系型数据库 MySQL Nacos
使用 Docker 部署 Nacos 并配置 MySQL 数据源
使用 Docker 部署 Nacos 并配置 MySQL 数据源
8 0
|
1天前
|
关系型数据库 应用服务中间件 nginx
Docker + node(koa) + nginx + mysql 线上环境部署
Docker + node(koa) + nginx + mysql 线上环境部署
|
23天前
|
Ubuntu 关系型数据库 MySQL
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
16 0
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
|
10天前
|
应用服务中间件 Linux 网络安全
PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
在Azure App Service for Linux上部署的PHP应用遇到上传文件超过1MB时出现413 Request Entity Too Large错误的解决之法
|
10天前
|
前端开发 关系型数据库 MySQL
使用 PHP 和 MySQL 实现留言板功能
使用 PHP 和 MySQL 实现留言板功能
28 0
|
1月前
|
Java 关系型数据库 Docker
docker打包部署spring boot应用(mysql+jar+Nginx)
docker打包部署spring boot应用(mysql+jar+Nginx)