10 月 21 日 PHP 官方发了紧急安全补丁,修的是两个被评定为严重级别的漏洞:CVE-2026-109618 和 CVE-2026-109619。据公开报道,攻击者不需要登录就有机会远程执行代码,还可能造成拒绝服务和敏感数据泄露。你要是用宝塔面板在服务器上跑 WordPress 或者 DedeCMS,今天要定的只有一件事:今晚要不要安排一次 PHP 升级。

这次的漏洞,跟我这种小站有关系吗?
有关系,而且不分站大站小。这两个漏洞出在 PHP 运行时本身,只要服务器上装了 PHP,WordPress 主题插件、DedeCMS 模板、WHMCS 建站源码都跑在它上面,谁也躲不开,官方给的建议是立即升级到修复版本。
我们经常遇到的情况是:客户服务器上编译了不止一个 PHP 版本,哪个站挂在哪个版本上,自己都说不清。升级前先把现状摸出来:
- php -v 看命令行用的版本
- 宝塔面板「网站」列表里,逐个看每个站绑定的 PHP 版本
- apt list --installed | grep php 或 yum list installed | grep php,看服务器上装了哪些 PHP 包
一张表列清楚,哪个站能动、哪个站要单独测试,才不会升级到一半发现某个老站挂在没人记得的版本上。
升级会不会把线上站搞崩?
有可能,疼的多半是老代码。PHP 跨版本升级最容易出问题的地方是主题和模板:用了废弃写法的 DedeCMS 模板、几年没更新的 WordPress 主题、旧版 WHMCS 源码,都可能在新版本上直接白屏或者报错。
不少客户会问:「我能不能先不动,等风头过去?」我的答案是:如果服务器只开 443,前面还有一层能拦探测的 WAF,拖一两天不是不行,但拖的收益基本是零,风险是持续的。反过来,如果你手上只有一个测试站,那也不必为它换服务器、加配置、升带宽,先把补丁打上就完事。
顺序建议这样排:先在测试环境或者临时子域名上把新版本 PHP 跑一遍,前台翻几页、后台登一次、提交一个表单,确认没报错,再挑业务低峰切线上。面板里保留旧版本 PHP,回滚路径提前留好,比出事后再翻教程实在。
WAF 拦住了,是不是就不用打补丁了?
不是。据公开报道,Cloudflare 已在 10 月 21 日针对被称作 "php2shell" 的这两个漏洞部署了 WAF 规则,但报道同样写明网站仍须尽快安装官方补丁。WAF 规则拦的是已知的请求特征,补丁修的是代码里的洞,两件事不能互相替代。
另外提一句,这件事跟 PHP 无关,但你的站可能踩到:据公开报道,10 月 15 日 20:02 UTC 到 16 日 07:12 UTC 之间从官网下载或经更新推送的 Rank Math PRO 副本含有恶意代码,安装并启用过这批副本的站点应按已被入侵处理,且相关后门有自我恢复的特性。排查别只删文件,更新渠道、密钥、计划任务都要过一遍。
如果你的站是拿站内 WordPress 主题、DedeCMS 模板或者 WHMCS 源码搭的,升级前把主题和模板文件导出备份一份,数据库另存一份;宝塔面板建站教程里的环境编译与多版本切换部分,站内有对应的运维笔记,可以对着走一遍。要是你的站主题是买的、作者已经不更新了,那先在测试环境验一遍再动线上,这条比补丁本身更值得花时间。
