Ubuntu PHP-FPM如何更新和升级
导读:Ubuntu 上 PHP-FPM 的更新与跨版本升级指南 一 概念与准备 区分两个动作: 更新:执行 apt update && apt upgrade,获取当前已安装 PHP-FPM 的安全补丁与小版本修复。 升级:安...
Ubuntu 上 PHP-FPM 的更新与跨版本升级指南
一 概念与准备
- 区分两个动作:
- 更新:执行 apt update & & apt upgrade,获取当前已安装 PHP-FPM 的安全补丁与小版本修复。
- 升级:安装并切换到更高主次版本的 PHP-FPM(如从 7.4 到 8.2)。
- 准备与风险控制:
- 备份数据与配置(如 /etc/php/ 与网站目录)。
- 检查磁盘空间与网络,尽量在维护窗口操作。
- 先在测试环境验证应用兼容性(框架、插件、扩展与自定义 INI 设置)。
二 更新当前版本(安全补丁与小版本)
- 刷新索引并升级:
- sudo apt update
- sudo apt upgrade php-fpm
- 重启以生效:
- sudo systemctl restart php**{ version} **-fpm
- 验证:
- php-fpm**{ version} ** -v 或 systemctl status php**{ version} **-fpm
- 说明:若系统源中已有新版,上述命令即可完成补丁更新;无需改动 Web 服务器配置。
三 跨版本升级(安装并切换到新版本)
- 安装必要工具并添加 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 与常用扩展(按需增减扩展):
- 示例(升级到 8.2):
- sudo apt install -y php8.2-fpm php8.2-{ cli,mysql,curl,mbstring,intl,xml,zip,gd,sqlite3}
- 示例(升级到 8.2):
- 使用 phpenmod 启用所需扩展(如 mbstring、gd):
- sudo phpenmod mbstring
- sudo phpenmod gd
- 重启新版本服务:
- sudo systemctl restart php8.2-fpm
- 验证新版本:
- php-fpm8.2 -v
- 提示:同一台机器可并行安装多个 PHP 版本,通过服务名区分(如 php7.4-fpm 与 php8.2-fpm)。
四 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,访问确认版本与 SAPI 为 FPM/FastCGI。完成后删除该文件。
五 回滚与验证
- 回滚思路:
- 在 Web 服务器中切回旧版本的 socket/配置,或禁用新版本并启用旧版本;
- 重启 Nginx/Apache 与旧版 PHP-FPM;
- 如曾改动 php.ini 或 pool.d/www.conf,按备份恢复。
- 常用检查:
- 版本:php-fpm**{ version} ** -v
- 服务状态:systemctl status php**{ version} **-fpm
- 日志:/var/log/php**{ version} **-fpm.log(排查启动失败、进程异常、权限与连接问题)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu PHP-FPM如何更新和升级
本文地址: https://pptw.com/jishu/771100.html
