教程
PHP 高危漏洞紧急修复:CVE-2026-109618/109619 升级指南
先说结论
如果你的服务器跑着 PHP 且对外提供网页服务,无论用的是 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 还是 LiteSpeed,都应尽快升级到官方安全版本:PHP 8.5.12、8.4.27、8.3.36 或 8.2.35。其中 Apache mod_php 风险最高——官方已演示无需认证的请求就能在应用代码运行之前触发攻击。
AI 操作示意图·以官网实际界面为准
第一步:确认你的 PHP 版本
登录服务器执行:
php -v
会输出类似 PHP 8.4.26 (cli) 的一行。只要主版本是 8.2、8.3、8.4、8.5 而小版本低于上表,就属于受影响范围,需要升级。
第二步:升级到安全版本
三种常见途径,选你正在用的那种:
① 发行版包管理器(最推荐)
Debian/Ubuntu 系:
sudo apt update && sudo apt upgrade php* -y
CentOS/RHEL/Fedora 系:
sudo dnf update php
如果用的是 Sury、Remi 这类第三方源,先更新源再升级。发行版和 LTS 厂商提前收到了补丁,跟着官方仓库走即可。
② 面板类工具(宝塔、WDCP 等)
在面板的软件商店/环境管理里找到 PHP,选择切换版本到 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 之一,按面板提示操作。
③ 源码编译
到 php.net 下载页获取对应版本的源码包,重新编译安装并替换旧二进制。这种方式适合自维护服务器,编译前先备份现有配置(php.ini、FPM pool 配置)。
第三步:验证升级结果
升级完先确认版本号:
php -v
再检查 FPM 是否正常:php-fpm -t 测试配置、systemctl restart php*-fpm 重启服务、systemctl status php*-fpm 看状态。最后打开一个 PHP 页面(或 phpinfo() 页面)确认 404/500 没有增多、业务正常。
AI 操作示意图·以官网实际界面为准
暂时无法升级?先做临时缓解
官方明确:只有升级才是完整修复,下列措施只是降低特定攻击面,不能替代升级:
- 针对 CVE-2026-109618(OOM 内存破坏):把
memory_limit=-1写在应用无法覆盖的层级(FPM pool 或 Apache 配置里的php_admin_value),确认没有其他配置把有限值加回去;调低post_max_size(不需要上传就设8M,需要上传设32M,upload_max_filesize必须小于post_max_size)。 - 针对 CVE-2026-109619(过期全局状态):设置
session.upload_progress.enabled=0并重启所有 worker;PHP 8.5 上再设置fatal_error_backtraces=0;修复业务里可被触发的 fatal error 和超时路径。
EOL 版本怎么办
PHP 8.1 及更早版本已不再接收 PHP 项目官方更新。两个选择:一是联系你的发行版或 LTS 厂商确认是否有 backport 补丁(部分厂商提供);二是借这次机会升级到仍受支持的版本。PHP 官方为 7.4/8.0/8.1 提供了最小源码 backport 供自编译用户使用。

长期习惯
安全更新不只是这一次。建议:打开发行版安全更新提醒、每月例行 apt update && apt upgrade、关注 php.net 首页公告。漏洞不会等人,别让服务器成为下一个被扫描的靶子。
官方资料
资料核对日期:2026-10-25
- PHP 官网安全公告(两个严重 RCE 漏洞说明与修复版本):https://www.php.net/
- The PHP Foundation 博客(漏洞背景与披露时间线):https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/
- PHP 官方下载页(源码与 Windows 二进制):https://www.php.net/downloads
最近一周热门文章
按近 7 天访问热度排序,热度积累前优先展示新文章。
当前栏目最新文章
教程 · 继续阅读同栏目的新内容
一起交流
0 条留言LEAVE A NOTE
你的经验,也很重要。
无需注册或登录。请勿公开邮箱密码、证件、银行卡号或其他敏感信息。
















还没有留言,来分享你的想法吧。