CentOS Stream 8 上安装 PHP 7.4 并配置 PHP 环境

CentOS Stream 8 上安装 PHP 7.4 并配置 PHP 环境

  • [步骤 1: 启用 EPEL 和 Remi 仓库](#步骤 1: 启用 EPEL 和 Remi 仓库)
  • [步骤 2: 启用 PHP 7.4 模块](#步骤 2: 启用 PHP 7.4 模块)
  • [步骤 3: 安装 PHP 7.4 及相关扩展](#步骤 3: 安装 PHP 7.4 及相关扩展)
  • [步骤 4: 启动和配置 PHP-FPM(如果需要)](#步骤 4: 启动和配置 PHP-FPM(如果需要))
  • [步骤 5: 配置 Web 服务器(Nginx 或 Apache)](#步骤 5: 配置 Web 服务器(Nginx 或 Apache))
  • [步骤 6: 测试 PHP](#步骤 6: 测试 PHP)

步骤 1: 启用 EPEL 和 Remi 仓库

首先安装并启用 EPEL 和 Remi 仓库,它们包含了较新版本的 PHP 包。

安装 EPEL 仓库:

bash 复制代码
sudo dnf install epel-release -y

安装 Remi 仓库:

bash 复制代码
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

安装 yum-utils,以便使用 dnf 管理包模块:

bash 复制代码
sudo dnf install yum-utils -y

步骤 2: 启用 PHP 7.4 模块

通过 Remi 仓库提供 PHP 7.4 版本的支持。你需要禁用默认的 PHP 模块并启用 Remi 的 PHP 7.4 模块。

禁用默认的 PHP 模块:

bash 复制代码
sudo dnf module reset php

启用 PHP 7.4 模块:

bash 复制代码
sudo dnf module enable php:remi-7.4 -y

步骤 3: 安装 PHP 7.4 及相关扩展

现在可以安装 PHP 7.4 以及常见的 PHP 扩展。

安装 PHP 7.4:

bash 复制代码
sudo dnf install php php-cli php-common php-fpm php-json php-mysqlnd php-xml php-mbstring php-opcache php-gd php-curl php-zip -y

检查 PHP 版本,确保已成功安装:

bash 复制代码
php -v

输出类似如下内容,表示安装成功:

bash 复制代码
PHP 7.4.x (cli) (built: ...)

步骤 4: 启动和配置 PHP-FPM(如果需要)

如果你计划使用 Nginx 或需要 PHP-FPM 服务,可以按以下步骤启动和配置 PHP-FPM。

启动并启用 PHP-FPM 服务:

bash 复制代码
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

检查 PHP-FPM 状态,确保服务运行正常:

bash 复制代码
sudo systemctl status php-fpm

步骤 5: 配置 Web 服务器(Nginx 或 Apache)

如果你使用 Nginx,请确保正确配置 nginx.conf 文件以处理 PHP 请求。

如果你使用 Apache,则可以通过以下命令安装 PHP 与 Apache 的集成:

bash 复制代码
sudo dnf install php php-fpm mod_php

然后重启 Apache:

bash 复制代码
sudo systemctl restart httpd

步骤 6: 测试 PHP

在 /var/www/html 目录下创建一个简单的 PHP 测试文件来验证 PHP 是否正常工作。

bash 复制代码
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

然后在浏览器中访问 http://your-server-ip/info.php,你应该会看到 PHP 的配置信息页面。

相关推荐
程序员-Benothing5 小时前
Linux磁盘IO性能分析:iostat、iotop、fio实战
linux·运维·服务器
LiaoWL1235 小时前
从零开始学 Linux(一):目录结构、常用命令与 VIM 编辑器上手
linux·运维·服务器
Lhan.zzZ6 小时前
Linux + Qt/QML:解决 QtQuick.VirtualKeyboard.Plugins 模块加载失败与环境变量配置
linux·数据库·qt
小毛驴8506 小时前
mvn help:effective-settings 与 mvn help:effective-pom
java·linux·前端
半杯咖啡半行码6 小时前
Linux字符设备驱动实战:ioctl接口与GPIO操作指南
linux·开发语言
Zenova EdgeOS6 小时前
Linux Nginx 反向代理实战:工业边缘 API 接入与安全加固
linux·nginx·安全·边缘计算·工业网关
小白鸽i6 小时前
【Linux】已安装的软件如何重新构建deb安装包?
linux·运维·服务器
其实防守也摸鱼6 小时前
CTF Web 6 题全解 Writeup
linux·sql·学习·算法·安全·ctf·xss
qq_401700417 小时前
CAN 开源库大全(嵌入式/上位机,适配STM32、Linux、Qt,附带Github地址)
linux·stm32·开源
无风听海7 小时前
深入理解.NET中的 Lazy<T>
服务器·php·.net