CentOS 7下如何最简单地安装PHP8及扩展?

在CentOS系统上部署PHP环境是搭建Web服务(如WordPress、Laravel等应用)的基础步骤,CentOS作为一个稳定且广泛使用的服务器操作系统,提供了多种安装PHP的方式,本文将详细介绍两种主流方法:使用系统默认仓库和使用Remi仓库,并涵盖后续的配置与验证,帮助您根据需求选择最合适的安装路径。

CentOS 7下如何最简单地安装PHP8及扩展?

准备工作

在开始安装之前,请确保您已经具备以下条件:

  1. 一台运行CentOS 7、CentOS 8或CentOS Stream的服务器。
  2. 拥有sudo权限或以root用户身份登录。
  3. 执行系统更新命令,确保所有软件包都是最新的,这是一个良好的运维习惯,可以避免潜在的依赖冲突。
sudo yum update -y

使用默认YUM/DNF仓库安装

这是最直接、最简单的安装方式,适合对PHP版本没有特殊要求,追求稳定性的场景。

优点:

  • 操作简单,命令少。
  • 版本经过CentOS团队严格测试,稳定性高。

缺点:

  • 仓库中的PHP版本通常比较陈旧,CentOS 7默认提供PHP 5.4,CentOS 8默认提供PHP 7.2,这些旧版本可能无法满足新项目的需求或缺少安全更新。

安装步骤:

  1. 安装PHP
    直接使用yum(CentOS 7)或dnf(CentOS 8/Stream)命令安装。

    # 对于CentOS 7
    sudo yum install php -y
    # 对于CentOS 8 / Stream
    sudo dnf install php -y
  2. 安装常用扩展
    一个功能完整的PHP应用通常需要多个扩展,以下是一些常用扩展的安装示例:

    # 安装MySQL、GD图形处理、XML等扩展
    sudo yum install php-mysql php-gd php-xml php-mbstring php-json -y
  3. 验证安装
    安装完成后,可以通过以下命令检查PHP版本。

    php -v

    如果看到版本信息输出,即代表安装成功。

使用Remi仓库安装指定版本(推荐)

对于需要使用最新PHP版本(如PHP 7.4, 8.0, 8.1等)的开发者来说,Remi仓库是最佳选择,Remi是一个由社区维护的第三方仓库,专门提供最新版本的PHP及相关组件。

优点:

CentOS 7下如何最简单地安装PHP8及扩展?

  • 提供多个PHP版本,可以灵活选择和切换。
  • 软件包更新及时,能快速获取最新的功能和安全修复。

缺点:

  • 安装步骤相对繁琐一些。
  • 依赖第三方仓库。

安装步骤:

  1. 安装EPEL仓库
    Remi仓库依赖于EPEL (Extra Packages for Enterprise Linux)。

    sudo yum install epel-release -y
  2. 安装Remi仓库
    根据您的CentOS版本执行相应命令。

    # 对于CentOS 7
    sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
    # 对于CentOS 8 / Stream
    sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
  3. 启用目标PHP版本模块
    这是核心步骤,查看可用的PHP版本流。

    # CentOS 7 使用 yum
    yum repolist all | grep php
    # CentOS 8 / Stream 使用 dnf
    dnf module list php

    假设我们要安装PHP 8.1,需要禁用默认模块并启用Remi的PHP 8.1模块。

    # 对于CentOS 8 / Stream
    sudo dnf module reset php
    sudo dnf module enable php:remi-8.1 -y
    # 对于CentOS 7,直接安装时会指定版本,无需此步骤
  4. 安装PHP及常用扩展
    启用模块后,即可像方法一那样安装PHP,但此时安装的将是您指定的版本。

    # 对于CentOS 8 / Stream
    sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-json -y
    # 对于CentOS 7,需要指定版本号
    sudo yum install php81 php81-php-fpm php81-php-mysqlnd php81-php-gd php81-php-xml php81-php-mbstring php81-php-json -y

    注意: 在CentOS 7中,通过Remi安装的PHP命令和配置文件路径会包含版本号,例如php81而不是php,为了方便使用,可以设置一个环境别名。

  5. 验证安装
    再次检查版本,确认是否为预期的PHP 8.1。

    # CentOS 8 / Stream
    php -v
    # CentOS 7
    php81 -v

配置PHP-FPM

现代Web架构(如Nginx)通常通过PHP-FPM(FastCGI Process Manager)来处理PHP请求,安装PHP-FPM后,需要进行基本配置。

  1. 配置文件位置
    主配置文件通常位于 /etc/php-fpm.d/www.conf,您可以根据需要修改其中的参数,例如运行用户和组(user, group)、监听端口或Socket(listen)等,默认配置通常适用于大多数场景。

    CentOS 7下如何最简单地安装PHP8及扩展?

  2. 启动并设置开机自启
    配置完成后,启动PHP-FPM服务,并将其设置为开机自启动。

    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm

测试PHP环境

为了确保PHP能够与Web服务器(如Apache或Nginx)正常工作,可以创建一个测试文件。

  1. 在Web根目录(/var/www/html/)创建一个名为 info.php 的文件。

    sudo vi /var/www/html/info.php
  2. 在文件中添加以下内容:

    <?php
    phpinfo();
    ?>
  3. 在浏览器中访问 http://您的服务器IP地址/info.php,如果看到PHP的详细配置信息页面,说明您的PHP环境已经成功搭建。

安全提示: 测试完成后,请务必删除 info.php 文件,因为它会暴露服务器的敏感信息。

sudo rm /var/www/html/info.php

相关问答FAQs

问题1:我已经通过Remi仓库安装了PHP 8.1,现在想切换到PHP 8.2,应该如何操作?

解答: 在使用Remi仓库的CentOS 8/Stream系统上,切换PHP版本非常方便,只需执行以下三个步骤:

  1. 重置PHP模块: sudo dnf module reset php -y
  2. 启用新版本模块: sudo dnf module enable php:remi-8.2 -y
  3. 更新系统软件包: sudo dnf update -y
    系统会自动卸载旧版本的PHP包并安装新版本的包,完成后,执行 php -v 即可确认版本已切换成功,对于CentOS 7,过程类似,但需要手动卸载旧版本包(如yum remove php81-*)并安装新版本包(如yum install php82-*)。

问题2:安装完PHP后,如何安装一个不在基础包里的扩展,比如Redis或Imagick?

解答: 安装额外的PECL扩展通常也很简单,使用search命令查找对应的软件包,Remi仓库的扩展包命名通常遵循php-xx-扩展名php版本-php-pecl-扩展名的格式。

  1. 搜索扩展包: sudo dnf search php-redis (或 sudo yum search php81-php-pecl-redis)
  2. 安装扩展包: 从搜索结果中找到正确的包名,然后使用dnf installyum install进行安装。
    sudo dnf install php-redis -y
    安装完成后,需要重启PHP-FPM服务使扩展生效:sudo systemctl restart php-fpm

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 17:07
下一篇 2025-10-07 17:11

相关推荐

  • CentOS Samba AD配置中,有哪些关键疑问点需要注意?

    CentOS Samba与Active Directory集成详解背景介绍随着企业规模的不断扩大,网络资源的集中管理和访问控制变得越来越重要,Active Directory(AD)作为一种常用的域控制器,能够实现用户和计算机的集中管理,而Samba作为Linux系统中实现SMB/CIFS协议的软件,能够与Wi……

    2026-01-24
    005
  • CentOS开机启动流程是怎样的?有哪些常见问题需要注意?

    开机启动CentOS的详细步骤与注意事项系统环境准备在开始配置开机启动CentOS之前,请确保您的系统环境已经满足以下要求:已安装CentOS操作系统,系统中已安装必要的网络设备驱动,已配置好静态IP地址,配置网络接口检查网络设备状态使用以下命令检查网络设备状态:ip a确保您的网络设备(如eth0)已经启动……

    2026-01-13
    003
  • deepin系统如何安装centos的rpm包?

    在Linux系统中,软件包管理是日常运维和开发中的重要环节,不同的发行版采用不同的包管理工具,如Debian系的dpkg和APT,以及Red Hat系的RPM和YUM/DNF,CentOS作为广泛使用的服务器操作系统,其软件包格式为RPM;而deepin作为一款基于Debian的国产操作系统,默认使用APT和D……

    2025-11-17
    004
  • 在旧版CentOS 6上如何通过源码编译安装Erlang?

    在CentOS 6这个已经进入生命末期的经典操作系统上安装Erlang,虽然不再是主流选择,但在维护一些遗留系统或特定应用场景下仍有必要,由于CentOS 6的官方源已停止维护,直接使用yum安装Erlang会遇到版本过旧或依赖缺失的问题,我们需要采用更可靠的方法来获取一个稳定可用的Erlang环境,以下将详细……

    2025-10-12
    005

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信