首页主机资讯centos系统中php-fpm更新步骤

centos系统中php-fpm更新步骤

时间2025-12-02 01:33:03发布访客分类主机资讯浏览274
导读:CentOS 系统中 PHP-FPM 更新步骤 一 准备与版本确认 备份关键数据与配置:包括网站代码、数据库、/etc/php.ini、/etc/php-fpm.conf、/etc/php-fpm.d/*.conf、以及 Nginx/Ap...

CentOS 系统中 PHP-FPM 更新步骤

一 准备与版本确认

  • 备份关键数据与配置:包括网站代码、数据库、/etc/php.ini/etc/php-fpm.conf/etc/php-fpm.d/*.conf、以及 Nginx/Apache 虚拟主机配置。
  • 确认系统与当前组件版本:
    • 系统版本:cat /etc/centos-release
    • PHP CLI 版本:php -v
    • PHP-FPM 服务与进程:systemctl status php-fpmps aux | grep php-fpm
    • 监听方式:grep -R "listen" /etc/php-fpm.d/
    • Web 端版本核对:创建 info.php 输出 < ?php phpinfo(); ?>
  • 选择目标版本:优先选择仍在维护的 PHP 7.4 / 8.0 / 8.1 / 8.2 / 8.3(以应用兼容为准)。

二 通过 Remi 仓库在 CentOS 7 就地升级(推荐)

  • 安装 EPEL 与 Remi 仓库,并启用 yum-utils:
    • sudo yum install -y epel-release
    • sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    • sudo yum install -y yum-utils
  • 查看可用的 PHP 版本模块:yum list php\*yum module list php
  • 启用目标版本(示例为 PHP 7.4):sudo yum-config-manager --enable remi-php74
  • 执行更新(就地升级,保留原有配置):sudo yum update -y php*
  • 重启服务:sudo systemctl restart php-fpm(如用 Nginx 则同时 sudo systemctl restart nginx
  • 验证:php -vsystemctl status php-fpmps aux | grep php-fpmgrep -R "listen" /etc/php-fpm.d/
  • 说明:若之前使用 Webtatic 源,建议统一迁移到 Remi 以避免混源冲突;就地升级通常保留配置,仍建议对比变更。

三 SCL 方式安装多版本并切换(适合需并行保留旧版)

  • 安装 SCL 仓库与 PHP 7.4(示例):
    • sudo yum install -y centos-release-scl
    • sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-{ cli,common,gd,mbstring,mysqlnd,pdo,xml,zip,bcmath,opcache,intl,soap}
  • 启动与开机自启(服务名带 SCL 前缀):
    • sudo systemctl start rh-php74-php-fpm
    • sudo systemctl enable rh-php74-php-fpm
  • 切换 CLI 版本(当前会话):scl enable rh-php74 bash
  • Web 调用需与 FPM 版本一致:
    • 若 Nginx 通过 TCP 方式:fastcgi_pass 127.0.0.1:9000; (确认 listen = 127.0.0.1:9000 在对应版本的 php-fpm 池配置中)
    • 若使用 Unix 套接字:将 fastcgi_pass 指向新版本套接字路径(如 /var/opt/rh/rh-php74/run/php-fpm/www.sock),并确保权限与所属用户组正确
  • 验证:php74 -vsystemctl status rh-php74-php-fpmps aux | grep php-fpm

四 常见问题与回滚

  • 更新后网站仍显示旧版本或报 502 Bad Gateway
    • 原因:Nginx 仍连到旧版 PHP-FPM(进程或套接字未切换)。
    • 处理:
      • 确认正在运行的 FPM:ps aux | grep php-fpm
      • 检查 Nginx 的 fastcgi_pass 是否指向新版本套接字/端口(与 listen 一致)
      • 重启 Nginx:sudo systemctl restart nginx
  • 多版本并存导致冲突
    • 处理:统一源(优先 Remi),避免混装 Webtatic;必要时停用旧版服务,仅保留一个 php-fpm 实例对外提供 FastCGI。
  • 回滚方案
    • 就地升级后回滚困难,建议基于备份快速还原:
      • 停止服务:sudo systemctl stop php-fpm
      • 恢复配置文件与网站代码
      • 如为模块化安装(SCL),可切回旧 SCL:scl enable rh-php72 bash 并启动对应 rh-php72-php-fpm
      • 重启服务并复核版本
  • 其它建议
    • 升级前在测试环境验证应用兼容性(如 WordPress 要求 PHP ≥ 7.2.24 等)
    • 升级后在 CLI 与 Web 两端同时核对版本,确保一致。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos系统中php-fpm更新步骤
本文地址: https://pptw.com/jishu/760765.html
如何备份centos上的php-fpm配置 centos下php-fpm端口冲突怎么办

游客 回复需填写必要信息