0

0

PHP怎么安装Elasticsearch_PHP搜索扩展安装

星夢妙者

星夢妙者

发布时间:2025-09-16 23:24:02

|

855人浏览过

|

来源于php中文网

原创

首先安装并启动Elasticsearch服务,再通过Composer安装elasticsearch/elasticsearch库,最后在PHP中使用ClientBuilder连接并操作ES。

php怎么安装elasticsearch_php搜索扩展安装

安装PHP与Elasticsearch的集成,核心在于两部分:首先是把Elasticsearch这个强大的搜索引擎服务本身跑起来,其次才是让我们的PHP应用能和它“说上话”,也就是安装并配置好PHP的客户端。很多人一上来就想着PHP扩展,但其实Elasticsearch官方提供的PHP客户端库才是主流,它通过Composer就能轻松搞定,效率和功能上都非常成熟。

说实话,要让PHP和Elasticsearch“手拉手”,这事儿远没有一些人想象的那么复杂,但也没简单到一步到位。它需要一点点系统环境的准备,和一点点PHP项目层面的配置。

第一步:Elasticsearch服务的安装与启动

这才是整个流程的基石。没有Elasticsearch服务,PHP客户端就是巧妇难为无米之炊。

立即学习PHP免费学习笔记(深入)”;

  • 最快上手法:Docker。 我个人觉得,如果你只是想快速跑起来试试水,或者在开发环境用,Docker是首选。
    docker pull elasticsearch:7.17.0 # 或者你想要的任何版本
    docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.0

    这样一行命令,一个单节点的Elasticsearch就跑起来了,非常省心。

  • 生产环境部署: 这就有点讲究了。通常会通过官方提供的
    .deb
    .rpm
    包来安装,或者直接下载压缩包手动部署。以Ubuntu为例:
    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
    echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
    sudo apt-get update && sudo apt-get install elasticsearch
    sudo systemctl enable elasticsearch
    sudo systemctl start elasticsearch

    安装完后,通常还需要调整

    config/elasticsearch.yml
    ,比如网络绑定、内存分配等。这些细节决定了它在生产环境的稳定性和性能。

    GentleAI
    GentleAI

    GentleAI是一个高效的AI工作平台,为普通人提供智能计算、简单易用的界面和专业技术支持。让人工智能服务每一个人。

    下载

第二步:PHP客户端的安装

这里我们主要指的是官方的

elasticsearch/elasticsearch
Composer包。有些人可能会疑惑“PHP搜索扩展”到底是什么?其实,对于Elasticsearch来说,官方推荐且功能最完善的并非一个PECL编译的PHP扩展(比如
redis
mongodb
那种),而是这个基于Composer的客户端库。它用PHP代码封装了与Elasticsearch RESTful API的交互。

  • 通过Composer安装: 在你的PHP项目根目录运行:
    composer require elasticsearch/elasticsearch

    这一步通常很顺利,Composer会自动处理依赖。如果你遇到内存溢出,可以尝试

    COMPOSER_MEMORY_LIMIT=-1 composer require elasticsearch/elasticsearch

第三步:PHP代码中连接与使用

安装完客户端库,接下来就是写代码了。

<?php

require 'vendor/autoload.php'; // 引入Composer的自动加载文件

use Elasticsearch\ClientBuilder;

$hosts = [
    'localhost:9200' // 你的Elasticsearch服务地址和端口
    // '192.168.1.1:9200', // 如果有多个节点,可以配置多个
];

$client = ClientBuilder::create()
            ->setHosts($hosts)
            ->build();

// 简单的连接测试
try {
    $ping = $client->ping

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

162

2023.12.25

PHP API接口开发与RESTful实践
PHP API接口开发与RESTful实践

本专题聚焦 PHP在API接口开发中的应用,系统讲解 RESTful 架构设计原则、路由处理、请求参数解析、JSON数据返回、身份验证(Token/JWT)、跨域处理以及接口调试与异常处理。通过实战案例(如用户管理系统、商品信息接口服务),帮助开发者掌握 PHP构建高效、可维护的RESTful API服务能力。

179

2025.11.26

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

510

2023.11.27

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

516

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

417

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

454

2024.04.08

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

42

2026.02.11

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号