还在用 PHP 8.1 或更早的版本?PHP2Shell 之后有哪些选择
根据 PHP 官方的不受支持版本列表,PHP 8.1 已于 2025 年 12 月 31 日到达生命周期终点,最后一个版本是 8.1.34。2026 年 10 月 21 日 PHP 官方修复两个严重漏洞时,没有为 8.1 或更早的版本发布新版本。本文信息截至 2026 年 10 月 23 日。
简要回答
截至 2026 年 10 月 23 日,只有 PHP 8.2、8.3、8.4 和 8.5 还有安全修复,其中 8.2 到 2026 年 12 月 31 日为止。如果你的网站在用 8.1 或更早的版本,先问主机商有没有打上移植的修复,再更新网站程序和插件,然后换到受支持的版本。英国 NCSC 建议升级,而不是带着风险继续用。
哪些 PHP 版本还有安全修复?
PHP 官方的支持版本页面列出了四个分支。每个分支从首个稳定版发布起获得两年的完整支持,之后再有两年只修复严重安全问题。四年支持期满后,这个分支就到达生命周期终点,不再受支持。
| 分支 | 完整支持截止 | 安全修复截止 |
|---|---|---|
| 8.2 | 2024 年 12 月 31 日 | 2026 年 12 月 31 日 |
| 8.3 | 2025 年 12 月 31 日 | 2027 年 12 月 31 日 |
| 8.4 | 2026 年 12 月 31 日 | 2028 年 12 月 31 日 |
| 8.5 | 2027 年 12 月 31 日 | 2029 年 12 月 31 日 |
PHP 8.1、8.0 和 7.4 是什么时候停止维护的?
PHP 官方的不受支持版本页面给出了这些日期和最后版本:
- PHP 8.1:2025 年 12 月 31 日,最后版本 8.1.34
- PHP 8.0:2023 年 11 月 26 日,最后版本 8.0.30
- PHP 7.4:2022 年 11 月 28 日,最后版本 7.4.33
官方对生命周期终点的说法很直接。支持版本页面说,还在用已停止维护版本的用户应该尽快升级,因为他们可能暴露在未修补的安全漏洞之下。
10 月 21 日的公告对旧版本是怎么说的?
公告说,PHP 8.1 及更早的版本已经不再获得 PHP 官方的更新。它接着说,一些 Linux 发行版和长期支持(LTS)厂商提供了移植的修复,建议联系厂商了解详情,或者升级到受支持的版本。所谓移植的修复,就是把安全修复搬到旧版本上。
公告还说,考虑到这些漏洞的严重性,PHP 安全团队为 7.4、8.0 和 8.1 发布了最小化的源码补丁,用来帮助自己从源码编译 PHP、或者没有 LTS 厂商可找的人。公告没有列出 7.4、8.0 或 8.1 的新版本。
受支持分支的修复版本是 8.5.12、8.4.27、8.3.36 和 8.2.35。怎么查自己的版本并对照,见如何查看网站的 PHP 版本。
对旧版本,美国 CISA 说得更干脆。它的警报说,无法立即更新、或仍在用 PHP 8.1 及更早不受支持版本的组织,应该先把基于 PHP 的系统下线,直到能够修补或更新为止。国家互联网应急中心(CNCERT)也建议,暂不具备修复条件的运营单位采取网络隔离、网络访问限制、非必要业务系统下线等临时措施。
PHP 8.2 安全吗?什么时候停止维护?
PHP 8.2.35 是 8.2 分支的修复版本。php.net 上它的发布通知还附了一句提醒:PHP 8.2 将于 2026 年 12 月 31 日到达生命周期终点,此后不再获得任何安全修复,请规划升级到受支持的版本。
所以停在 8.2.35 的网站,已经有了 10 月 21 日那两个漏洞的修复,但官方的安全修复只剩大约十周。如果你现在要从 8.1 往上升,直接升到 8.3 或更新的版本,可以省掉再升一次。WordPress 自己的升级 PHP 页面推荐 8.3 或更高版本。
网站还在用旧版本,我有哪些选择?
对一个博客、社团网站或小网店来说,这些工作通常由你和主机商分担。
- 问主机商两个问题。 我的网站用的是哪个 PHP 版本?如果是 8.1 或更早的版本,有没有为 CVE-2026-109618 和 CVE-2026-109619 打上移植的修复?PHP 公告让旧版本用户去问厂商,用虚拟主机的网站,这个问题就该问主机商。
- 做好迁移前的准备。 WordPress 建议在换 PHP 版本之前先备份,然后在“仪表盘 > 更新”里更新 WordPress、主题和插件,并确认网站还能正常工作。它说 WordPress 本身最低支持到 PHP 7.4,但不确定你的主题或插件能不能在更新的版本上运行。具体步骤见如何在 WordPress 网站上升级 PHP。用其他建站程序的,请查它自己的文档,看它支持哪些 PHP 版本。
- 换到受支持的版本。 网站更新好之后,请主机商帮你切换,或者在面板允许的情况下自己切换。NCSC 关于 PHP 漏洞的页面说,使用旧版 PHP 的组织被强烈建议更新到完全受支持的版本。
如果这些都没法很快做到,按上面 CISA 的建议,先让网站下线,直到能够修补或更新。
NCSC 对不受支持的软件怎么看?
NCSC 关于过时产品的指南开头就说,所有软件,包括设备的操作系统,终究都会过时。它说,开发者停止提供安全更新后,可被利用的漏洞被攻击者知道的可能性会上升,而且时间一长,技术水平相对较低的攻击者也能利用新出现的漏洞。
它对该怎么做的立场很明确:要完全消除这种风险,唯一的办法是停止使用过时的产品。它也承认这不一定能马上做到,并说 NCSC 建议升级,而不是带着风险继续用。如果确实要短期继续用,它建议定期重新审视这个决定。对一个还在用 PHP 8.1 或更早版本的网站来说,这和 PHP 官方的答案是一样的:换到受支持的版本。
更多问题
PHP 7.4 受 PHP2Shell 影响吗?
NCSC 说,使用任何版本 PHP 的组织都会受到影响,新加坡 CSA 也说这些漏洞影响所有版本的 PHP。考虑到漏洞的严重性,PHP 安全团队为 7.4 发布了最小化的源码补丁,但没有新的 7.4 正式版本。问问主机商有没有打上移植的修复,并规划升级到受支持的版本。
主机商说已经把修复移植到 PHP 8.1 上了,这样够吗?
PHP 公告说,一些发行版和 LTS 厂商提供移植的修复,具体要问他们,所以由主机商来确认。不过这个分支仍然过了生命周期,NCSC 关于过时产品的指南建议升级,而不是带着风险继续用。
换到新版本 PHP 会把网站弄坏吗?
有可能,所以顺序很重要。WordPress 说,更新 PHP 应该不会有问题,但它不能保证。它建议先备份,再更新主题和插件。WordPress 还提醒,如果要恢复备份,你也需要主机商把 PHP 换回你现在用的版本。
2026 年 12 月 31 日之后 PHP 8.2 会怎样?
PHP 官方说,此后 8.2 不再获得任何安全修复,并请用户规划升级到受支持的版本。到那时,还在用 8.2 的网站就和 8.1 及更早的版本一样,不再受支持。
来源
- Supported Versions, PHP
- Unsupported Branches, PHP
- Security advisory: Critical remote code execution vulnerabilities, update now, and the PHP 8.2.35 release notice, PHP(2026 年 10 月 21 日)
- 关于PHP远程代码执行漏洞分析及修复建议的安全公告, 国家互联网应急中心 CNCERT(2026 年 10 月 22 日)
- Critical Vulnerabilities in PHP (PHP2Shell), Cyber Security Agency of Singapore
- Critical security issue affecting PHP, NCSC
- Obsolete products, NCSC device security guidance
- Critical vulnerabilities in PHP require immediate patching, CISA
- Update PHP, WordPress.org