温馨提示×

centos php-fpm版本如何升级

小樊
46
2025-11-21 19:26:06
栏目: 编程语言

CentOS 上升级 PHP-FPM 的实用步骤

一 准备与版本确认

  • 明确系统版本:执行 cat /etc/centos-release,不同主版本(如 78/Stream)仓库与命令略有差异。
  • 备份关键数据:备份 /etc/php.ini/etc/php-fpm.d/*.conf、网站代码与数据库。
  • 检查当前版本与进程:
    • CLI:执行 php -vphp -m 查看版本与已装扩展;
    • FPM:执行 php-fpm -vsystemctl status php-fpm
    • 站点验证:执行 curl -I https://yourdomain.com,在响应头中核对 Server 字段是否包含期望的 PHP/x.y.z
  • 建议在测试环境验证后再在生产环境执行升级。

二 使用 Remi 仓库升级(推荐,适用于 CentOS 7)

  • 安装 EPEL 与 Remi 仓库:
    • 执行:sudo yum install -y epel-release
    • 执行:sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • 启用目标 PHP 版本模块(按需选择其一):
    • PHP 7.4sudo yum-config-manager --enable remi-php74
    • PHP 8.0sudo yum-config-manager --enable remi-php80
    • PHP 7.3sudo yum-config-manager --enable remi-php73
  • 升级 PHP-FPM 及常用扩展:
    • 执行:sudo yum update -y php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-pear php-bcmath
  • 重启与验证:
    • 执行:sudo systemctl restart php-fpm
    • 执行:sudo systemctl status php-fpm
    • 执行:php -vcurl -I https://yourdomain.com 核对版本。

三 其他可选方案

  • WebTatic 仓库(适用于 CentOS 6/7):
    • 安装源:
      • CentOS 7:sudo yum install -y epel-release https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
      • CentOS 6:sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
    • 升级 FPM(示例为 5.6):sudo yum install -y php56w-fpm;其他版本将 56w 替换为 55w/70w 等;
    • 重启与验证:sudo systemctl restart php-fpm && php-fpm -v
  • 跨大版本或编译安装(不推荐,除非必须):
    • 例如从 5.2 升级到 5.3+ 可选择编译安装,步骤包括配置、编译与替换配置文件;该方式风险较高,需自行维护升级与回滚。

四 常见问题与回滚建议

  • 多版本并存与切换:同一系统可安装多个 remi-php 模块,但同一时间仅能启用一个版本;切换版本时先 disable 当前版本再 enable 目标版本,随后 yum update 并重启 php-fpm
  • 扩展一致性:升级后用 php -m 核对扩展是否齐全;按需补装如 php-mysqlnd、php-gd、php-mbstring、php-curl、php-xml、php-bcmath 等。
  • 配置文件变更:升级可能带来 php.iniphp-fpm.d/*.conf 的变更,建议逐行比对并合并自定义项,避免直接覆盖。
  • 快速回滚:若出现问题,立即执行 sudo systemctl stop php-fpm,切换回旧版本模块(如 remi-php73),执行 sudo yum downgrade php-fpm …,恢复备份配置并重启服务。
  • 生产建议:先在测试环境演练,升级窗口内保持 Nginx/Apachephp-fpm 的平滑切换与回滚预案。

0