网站是 PHP 做的,怎么自查有没有受 PHP2Shell 影响?修复要做哪几步?
一句话结论:自查 PHP2Shell(CVE-2026-109618 / CVE-2026-109619)是否影响你的网站,只需要三步:确认网站是不是 PHP 做的 → 查出 PHP 版本号 → 对照修复版本表。8.5 低于 8.5.12、8.4 低于 8.4.27、8.3 低于 8.3.36、8.2 低于 8.2.35 的都在受影响范围内,应尽快升级,升级后还要重启 PHP 服务并做一轮异常排查。事件背景可先看《PHP2Shell 是什么》一文。
怎么确认我的网站是不是 PHP 做的?
最常见的判断方法:WordPress、以及绝大多数国内外 CMS 建站程序都基于 PHP;不确定时直接看主机控制面板的「语言 / 运行时」一栏,或问主机商、建站服务商一句「我这个站的 PHP 版本是多少」,这是最稳妥的确认方式。要注意,更新 WordPress 本体和插件并不等于更新 PHP,PHP 运行时是服务器层面的组件,通常要主机商或服务器管理员来升级。
PHP 版本具体怎么查?
- 有服务器命令行权限:执行
php -v,第一行就是版本号; - 只有网站后台权限:很多 CMS 后台的「站点健康 / 系统信息」页会显示 PHP 版本,如 WordPress 的工具→站点健康→信息;
- 用 phpinfo 页面:临时上传一个输出 phpinfo() 的页面查看版本,看完务必立即删除,这个页面会暴露大量服务器信息,不能留在公网上;
- 什么权限都没有:直接联系主机商客服询问并要求升级,这是虚拟主机用户最现实的路径。
查到的版本对照哪张表?
| 你现在的版本线 | 升级到这个版本才算修复 | 说明 |
|---|---|---|
| PHP 8.5.x | 8.5.12 | 2026-10-21 官方紧急发布 |
| PHP 8.4.x | 8.4.27 | 2026-10-21 官方紧急发布 |
| PHP 8.3.x | 8.3.36 | 2026-10-21 官方紧急发布 |
| PHP 8.2.x | 8.2.35 | 2026-10-21 官方紧急发布 |
| PHP 8.1 及更早 | 无官方版本 | 已停止官方支持,见下一问 |
判断方法很简单:同一版本线内,版本号小于表中修复版的,即受影响、需要升级。
PHP 是 8.1 或更早版本,怎么办?
PHP 8.1 及更早版本已经停止官方支持,不会有官方版本的安全更新。官方仅提供了针对 7.4 / 8.0 / 8.1 的最小源码补丁,供自行编译 PHP 的技术人员使用;部分 Linux 发行版会把修复回移植到自己的软件包里,使用发行版软件包的可以留意发行版更新。现实建议是:把「升级到仍在支持期的 PHP 版本」排进计划,在此之前暂时无法完成升级的,应先把应用下线或与公网隔离,不要让旧版本继续裸露在公网上。
改一改服务器配置,能不能防住?
不能。PHP 官方已明确:这两个漏洞没有完整的配置缓解办法,升级到修复版本是唯一完整修复。网上流传的各类「改配置自保」方法最多只能改变个别触发条件,覆盖不了全部攻击路径,不要把它们当作修复完成。
服务器前面有 WAF 和防火墙,够不够?
不够。WAF 和防火墙规则可以挡住一部分已知的扫描和探测流量,作为升级完成前的临时缓冲是有价值的,但它们依赖规则匹配,绕不过「漏洞本身还在」这个事实。正确顺序是:先用 WAF 争取时间,尽快完成 PHP 升级,最后再把 WAF 作为日常防护保留。
升级做完之后,还要做哪几步?
- 重启 PHP 服务:PHP-FPM、Apache 等服务不重启,运行中的仍是旧版本,升级等于没做;重启后再用
php -v或后台信息页复核版本号; - 验证网站可用:打开首页、后台登录、表单提交等关键功能逐项点一遍,确认升级没有带来兼容问题;
- 排查异常痕迹:检查网站目录里有没有近期新增的不认识的文件、异常进程、陌生管理员账号,并回看最近一段时间的访问与错误日志有无异常高频请求——漏洞公开前已出现在野利用,升级只堵住入口,已发生的入侵需要靠排查发现;
- 把版本跟进变成日常:PHP 每条版本线都有支持期限,记下当前版本线的停止支持时间,提前规划下一次升级。
更多网站运营中的常见问题,可以看常见问题栏目。如果你不确定自己网站的 PHP 版本、或升级时需要协助,可以通过本站联系我们页面的企业微信二维码咨询。
想用智盟CMS 为企业建一个能获客的官网?扫码咨询。