商城首页欢迎来到中国正版软件门户

您的位置:首页 >Ubuntu PHP-FPM如何更新和升级

Ubuntu PHP-FPM如何更新和升级

  发布于2026-04-24 阅读(0)

扫一扫,手机访问

Ubuntu 上 PHP-FPM 的更新与跨版本升级指南

Ubuntu PHP-FPM如何更新和升级

一 概念与准备

动手之前,咱们得先厘清两个核心概念,这能帮你避免很多后续的麻烦。

区分两个动作:

  • 更新: 指的是执行 apt update && apt upgrade,目的是获取当前已安装 PHP-FPM 版本的安全补丁与小版本修复。这属于常规维护,风险较低。
  • 升级: 则意味着安装并切换到更高主次版本的 PHP-FPM,比如从 7.4 迁移到 8.2。这个过程涉及更多变动,需要谨慎对待。

准备与风险控制:

  • 备份是金科玉律。 务必完整备份你的 PHP 配置文件(如 /etc/php/ 目录)以及网站目录数据。
  • 检查服务器磁盘空间与网络连通性,尽量选择业务低峰期或维护窗口进行操作。
  • 最稳妥的做法是,先在测试环境中完整验证应用的兼容性,包括框架、插件、扩展以及所有自定义的 INI 设置。这一步能提前发现绝大多数潜在问题。

二 更新当前版本(安全补丁与小版本)

如果你只是想为当前版本的 PHP-FPM 打上最新的安全补丁,流程其实相当直接。

刷新索引并升级:

  • sudo apt update
  • sudo apt upgrade php-fpm

重启以生效:

  • sudo systemctl restart php{version}-fpm (请将 {version} 替换为你的实际版本号,例如 php7.4-fpm)

验证:

  • 通过 php-fpm{version} -v 查看版本信息,或使用 systemctl status php{version}-fpm 检查服务状态。

简单来说,只要系统软件源中已经包含了新补丁,上述命令就能完成更新,无需改动任何 Web 服务器配置。

三 跨版本升级(安装并切换到新版本)

这才是重头戏。跨版本升级意味着引入一套全新的 PHP 环境,步骤要细致得多。

安装必要工具并添加 Ondřej Surý PHP PPA(若尚未添加):

  • sudo apt install -y software-properties-common
  • sudo add-apt-repository -y ppa:ondrej/php
  • sudo apt update

安装目标版本的 PHP-FPM 与常用扩展(按需增减扩展):

  • 以升级到 PHP 8.2 为例:
    • sudo apt install -y php8.2-fpm php8.2-{cli,mysql,curl,mbstring,intl,xml,zip,gd,sqlite3}

使用 phpenmod 启用所需扩展(如 mbstring、gd):

  • sudo phpenmod mbstring
  • sudo phpenmod gd

重启新版本服务:

  • sudo systemctl restart php8.2-fpm

验证新版本:

  • php-fpm8.2 -v

这里有个小技巧:Ubuntu 系统允许同一台机器上并行安装多个 PHP 版本,它们通过不同的服务名(如 php7.4-fpmphp8.2-fpm)来区分,这为测试和回滚提供了极大便利。

四 Web 服务器与连接调整

安装好新 PHP 只是第一步,接下来得告诉 Web 服务器去连接它。

Nginx: 需要修改站点配置文件,将 fastcgi_pass 指令指向新版本的 FPM socket。

  • 例如:fastcgi_pass unix:/run/php/php8.2-fpm.sock;
  • 修改后执行:sudo systemctl restart nginx

Apache(使用 PHP-FPM 方式):

  • 禁用旧版本配置并启用新版本:
    • sudo a2disconf php7.4-fpm
    • sudo a2enconf php8.2-fpm
  • 重启:sudo systemctl restart apache2

验证页面(临时): 在网站根目录创建一个 info.php 文件,内容为 ,然后通过浏览器访问,确认 PHP 版本和 SAPI 模式已变为 FPM/FastCGI。验证完成后,切记删除该文件以保证安全。

五 回滚与验证

升级后如果发现问题,别慌,清晰的回滚路径是运维安全感的来源。

回滚思路:

  • 最快捷的方式是在 Web 服务器配置中,将连接指回旧版本的 socket 或配置。
  • 对于 Apache,可以禁用新版本配置并重新启用旧版本配置。
  • 随后,重启 Nginx/Apache 以及旧版的 PHP-FPM 服务。
  • 如果升级过程中修改了 php.inipool.d/www.conf 等配置文件,用之前的备份覆盖恢复即可。

常用检查: 日常运维或排错时,这几个命令非常实用:

  • 查看版本:php-fpm{version} -v
  • 检查服务状态:systemctl status php{version}-fpm
  • 查看日志:/var/log/php{version}-fpm.log(这里是排查启动失败、进程异常、权限与连接问题的关键所在)。
本文转载于:https://www.yisu.com/ask/21145854.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注