欢迎来到内蒙古社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

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

作者:商城建站价格 来源:php课程日期:2025-11-14
首先安装并启动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 信息页面成功显示。

Cutout老照片上色 Cutout老照片上色

Cutout.Pro推出的黑白图片上色

Cutout老照片上色 20 查看详情 Cutout老照片上色

三、安装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、插入以下内容,注意替换实际的主机地址:

<?php
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 脚本,确认仍能正常获取集群信息。

以上就是如何设置Ubuntu 22.04上的PHP与Elasticsearch的详细步骤?的详细内容,更多请关注php中文网其它相关文章!

标签: php教程
上一篇: php编写数据图表生成的功能_php编写统计图表绘制的教程
下一篇: PHP接口怎么版本控制_PHP接口版本控制方法及兼容性维护。

推荐建站资讯

更多>