修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
必须升级至PHP 8.5.12或更高版本,因CVE-2026-109618和CVE-2026-109619两个CVSS 9.2高危RCE漏洞影响8.5.11及更早版本,漏洞位于内核内存层,唯一有效修复方式是替换已修复的PHP运行时。

直接升级到 PHP 8.5.12 或更高版本,并彻底重建运行环境。 PHP 8.5 网站若使用的是 8.5.12 之前的任何版本(比如 8.5.0–8.5.11),就明确受 CVE-2026-109618 和 CVE-2026-109619(统称 php2shell)影响,存在未授权远程代码执行风险,CVSS 9.2,可被直接获取服务器 Shell。 关键动作不是“加固”,而是“替换”:漏洞位于 PHP 解释器内核内存管理层,无法通过代码、配置、WAF 规则或运行时 patch 拦截。唯一有效路径是更换已修复的 PHP 运行时。
确认是否真受影响
在容器或服务器中执行:
php -v(CLI)
php-fpm -v(FPM 场景)
若输出为 PHP 8.5.11 或更低(不含 8.5.12),即需立即处理。
容器环境必须重建镜像
- 修改 Dockerfile 中的 FROM 行,例如从
php:8.5.11-apache改为php:8.5.12-apache(或对应 Alpine/CLI/FPM 标签) - 删除本地旧镜像:
docker rmi your-app:latest - 重新构建:
docker build -t your-app:new . - 强制重启服务:
docker-compose down && docker-compose up -d(确保旧容器完全销毁,新进程由新镜像启动) - 切勿在容器内用
apt upgrade php—— 容器内包管理器无法覆盖官方预编译的 PHP 二进制,无效
非容器环境(如裸机或虚拟机)
- 从 windows.php.net(Windows)或 php.net(Linux/macOS)下载官方 8.5.12 包
- 注意 Windows 用户:必须使用带 -1 后缀的重发版(如
php-8.5.12-1-nts-Win32-vs17-x64.zip),因 8.5.12 初版存在 Brotli 补丁遗漏问题 - 替换 PHP 二进制、扩展和配置目录;更新 webserver(Apache/Nginx)指向新路径
- 完整重启:
systemctl restart apache2或systemctl restart php8.5-fpm,确保所有 worker 进程退出并由新版拉起
临时缓解仅限过渡期(不能替代升级)
- 在
php.ini中设session.upload_progress.enabled = 0,并重启服务 - Web 服务器层拦截含
Content-Type: multipart/form-data且filename=""的请求(Nginx 示例:if ($content_type ~ "multipart/form-data") { ... }) - PHP-FPM 可设
pm.max_requests = 1强制 worker 单次请求后退出(性能代价大,仅应急)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










