0

0

如何设置Ubuntu 22.04上的PHP与Elasticsearch的详细步骤?

星夢妙者

星夢妙者

发布时间:2025-11-14 21:22:02

|

573人浏览过

|

来源于php中文网

原创

首先安装并启动Elasticsearch,再配置PHP环境与客户端库,最后通过PHP脚本测试连接。具体步骤:1. 更新系统并安装OpenJDK;2. 导入Elasticsearch GPG密钥并添加官方仓库;3. 安装Elasticsearch并配置network.host和http.port;4. 启动服务并用curl测试;5. 安装Apache2、PHP及扩展;6. 重启Apache并验证PHP页面;7. 在网站根目录使用Composer安装elasticsearch/elasticsearch包;8. 创建test_es.php文件,引入autoload并实例化ClientBuilder连接本地ES;9. 浏览器访问该文件,输出集群信息即表示成功;10. 可选启用密码认证并更新PHP连接参数包含用户名密码。

如何设置ubuntu 22.04上的php与elasticsearch的详细步骤?

如果您尝试在Ubuntu 22.04上配置PHP与Elasticsearch集成,但无法建立连接或执行搜索请求,则可能是由于环境未正确安装或服务未启用。以下是完成此集成的详细步骤:

一、安装并配置Elasticsearch

Elasticsearch 是一个基于 Lucene 的分布式搜索和分析引擎,需先在系统中正确安装并运行。

1、更新系统包列表以确保获取最新版本信息:sudo apt update

2、安装 Java OpenJDK,因为 Elasticsearch 依赖于 Java 运行环境:sudo apt install openjdk-17-jre -y

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

3、导入 Elasticsearch GPG 密钥以验证软件包真实性:wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

4、添加 Elasticsearch 官方 APT 仓库到系统源列表:echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

5、再次更新包管理器缓存:sudo apt update

6、安装 Elasticsearch 服务:sudo apt install elasticsearch -y

7、编辑主配置文件以设置网络访问权限:sudo nano /etc/elasticsearch/elasticsearch.yml,确保包含以下两行:
network.host: 0.0.0.0
http.port: 9200

8、启动 Elasticsearch 服务并设置开机自启:sudo systemctl start elasticsearch && sudo systemctl enable elasticsearch

9、等待一分钟让服务初始化后,通过命令测试是否正常运行:curl -X GET "http://localhost:9200/",应返回包含 cluster_name 和 version 信息的 JSON 响应。

二、安装并配置PHP环境

PHP 是用于开发 Web 应用的脚本语言,需要搭配 Web 服务器和扩展支持才能与 Elasticsearch 通信。

1、安装 Apache2 作为 Web 服务器:sudo apt install apache2 -y

2、安装 PHP 及常用扩展,包括 cURL(用于 HTTP 请求):sudo apt install php libapache2-mod-php php-curl -y

3、重启 Apache 服务以加载 PHP 模块:sudo systemctl restart apache2

4、创建测试页面验证 PHP 是否工作:echo "" | sudo tee /var/www/html/info.php

5、在浏览器中访问 http://your_server_ip/info.php,确认 PHP 信息页面成功显示。

家作
家作

淘宝推出的家装家居AI创意设计工具

下载

三、安装PHP客户端库(Elasticsearch PHP SDK)

使用官方提供的 PHP 客户端可以简化与 Elasticsearch 集群的交互过程。

1、切换到网站根目录准备下载依赖:cd /var/www/html

2、确保已安装 Composer(PHP 的依赖管理工具):sudo apt install composer -y

3、在当前目录下初始化项目并添加 elasticsearch/elasticsearch 包:sudo composer require elasticsearch/elasticsearch

4、检查 vendor 目录是否存在且包含 autoload.php 文件,该文件将用于引入客户端类。

四、编写PHP代码连接Elasticsearch

通过 PHP 脚本实例化客户端并发送请求,验证与 Elasticsearch 的连通性。

1、创建一个新的 PHP 文件用于测试连接:sudo nano /var/www/html/test_es.php

2、插入以下内容,注意替换实际的主机地址:

require 'vendor/autoload.php';

use Elasticsearch\ClientBuilder;

$hosts = ['http://localhost:9200']; // 可添加多个节点
$client = ClientBuilder::create()->setHosts($hosts)->build();

$params = [];
$response = $client->info($params);
print_r($response);
?>

3、保存文件并在终端赋予适当权限:sudo chown www-data:www-data /var/www/html/test_es.php

4、在浏览器中访问 http://your_server_ip/test_es.php,若输出包含 cluster_name、version 等字段,则表示连接成功。

五、配置安全认证(可选但推荐)

为防止未授权访问,建议启用身份验证机制保护 Elasticsearch 实例。

1、运行内置工具设置内置用户密码:sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto 或手动模式 interactive。

2、记录生成的 elastic 用户密码,后续将在 PHP 中使用。

3、修改 PHP 客户端连接参数以包含用户名和密码:

$client = ClientBuilder::create()
->setHosts(['http://localhost:9200'])
->setBasicAuthentication('elastic', 'your_password_here')
->build();

4、重新运行 test_es.php 脚本,确认仍能正常获取集群信息。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

825

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

724

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

731

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

396

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

445

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

429

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16881

2023.08.03

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

74

2025.12.31

热门下载

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

精品课程

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

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