Alibaba Cloud Linux 3.2104 yum安装php7.4?

在 Alibaba Cloud Linux 3.2104(基于 RHEL/CentOS 8+ 体系)上,默认的软件源中通常不包含 PHP 7.4。CentOS/RHEL 8+ 默认提供的是 PHP 8.0/8.1/8.2。

因此,你需要通过添加第三方 YUM 源来安装 PHP 7.4。以下是推荐的安全、标准方法:


✅ 推荐方案:使用 Remi Repository(最常用、稳定)

Remi 是 CentOS/RHEL 系统上最常用的 PHP 多版本源,由 Fedora 项目维护者 Gilles Lanot 维护,可靠性高。

步骤 1:启用 EPEL 和 Remi 仓库

# 安装 EPEL 源(依赖基础)
sudo yum install -y epel-release

# 安装 Remi 仓库(Alibaba Cloud Linux 3 兼容 RHEL 8)
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

⚠️ 注意:如果你的系统是 aarch64(ARM架构),可能需要手动下载对应架构的 RPM 包,但大多数 x86_64 用户直接执行上述命令即可。

步骤 2:启用 PHP 7.4 模块

Remi 仓库默认禁用所有 PHP 版本,需显式启用 php74:

# 启用 php74 模块
sudo yum module enable -y remi-php74

步骤 3:安装 PHP 7.4 及常用扩展

sudo yum install -y php php-cli php-fpm php-mysqlnd php-pdo php-gd php-mbstring php-xml php-json php-zip php-curl php-opcache

步骤 4:验证安装

php -v
# 应输出类似:PHP 7.4.33 (cli) ...

systemctl start php-fpm
systemctl enable php-fpm

🔄 替代方案:使用 IUS 或 Software Collections(不推荐用于生产)

  • IUS:主要面向 CentOS 7,对 EL8/ALinux3 支持有限。
  • SCL(Software Collections):RHEL 官方提供的多版本工具链,但配置较复杂,且 ALinux3 已逐步弱化 SCL。

💡 强烈建议使用 Remi,它是目前社区公认最稳定的多版本 PHP 管理方式。


❗ 注意事项

  1. 冲突清理:如果系统中已存在其他 PHP 版本(如 php8.0),请先卸载避免冲突:

    sudo yum remove -y php php-*
  2. Web 服务器集成

    • 若使用 Nginx + PHP-FPM,确保 /etc/php-fpm.d/www.conf 中监听地址正确(通常为 127.0.0.1:9000)。
    • 若使用 Apache,确保加载了 mod_phpproxy_fcgi 模块指向 PHP-FPM。
  3. 安全更新
    PHP 7.4 已于 2021 年 11 月结束官方支持(EOL),不再接收安全补丁。仅建议在遗留系统迁移期间临时使用,新项目请考虑 PHP 8.0+。

  4. 阿里云镜像提速
    如果下载速度慢,可替换为阿里云镜像源:

    sudo sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*
    sudo sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*
    sudo yum clean all && sudo yum makecache

✅ 总结命令(一键脚本)

sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum module enable -y remi-php74
sudo yum install -y php php-cli php-fpm php-mysqlnd php-pdo php-gd php-mbstring php-xml php-json php-zip php-curl php-opcache
sudo systemctl enable --now php-fpm
php -v

此方法适用于 Alibaba Cloud Linux 3.2104、CentOS 8、Rocky Linux 8、AlmaLinux 8 等 RHEL 8 系发行版。