中小网站该盯 PHP 哪个版本的安全支持截止日
中小网站该盯 PHP 哪个版本的安全支持截止日?要盯的是站点当前实际运行的那一条分支,而不是官网上写着的最新版本。判断只需要两个信息:这条分支还在不在安全修复窗口内,窗口关闭的具体日期是哪天。按 2026 年 10 月核对到的时间线,仍在支持窗口内的分支是 8.2、8.3、8.4、8.5 四条,最新一批安全修复版本在同一天发布,其中 8.2 的截止日落在 2026 年 12 月 31 日,是四条里最近的一个。
支持窗口与截止日怎么读
一条分支进入截止日之后,官方不再为它产出安全修复,站点上跑的仍然是那个版本,但新披露的漏洞不会再有对应补丁。因此截止日对站点的意义不是「版本旧」,而是「风险不再有人兜底」。
读时间线时有三个细节要固定:一是分支号与实际小版本的区别,安全修复发在分支的最新小版本上,只写分支号的资产清单不足以判断有没有打上补丁;二是各分支截止日按年末对齐,所以年底前后是集中处理窗口;三是同一台机器可能装着多个 PHP 版本,站点实际使用哪一个要按虚拟主机配置确认,而不是按面板里安装的版本列表。
| 分支 | 当天核对的最新安全版本 | 发布日 | 支持截止日 |
|---|---|---|---|
| 8.5 | 8.5.12 | 2026-10-21 | 2029 年 12 月 31 日 |
| 8.4 | 8.4.27 | 2026-10-21 | 2028 年 12 月 31 日 |
| 8.3 | 8.3.36 | 2026-10-21 | 2027 年 12 月 31 日 |
| 8.2 | 8.2.35 | 2026-10-21 | 2026 年 12 月 31 日 |
表中口径与发布日期来自当天核对的支持时间线页,实际执行时以官方发布页为准复核。
为什么截止日是安全事件而不是升级事件
分支关闭支持后,站点暴露面并没有新增代码,但漏洞披露的速度不会停。中小网站的常见问题是升级被推到期初盘点里一起做,结果一年只碰一次运行环境。合理的处理顺序是:确认站点实际使用的分支与小版本,在截止日前完成一次带备份的升级演练,把升级失败的回退路径写成固定步骤,而不是靠临时决定。
回退路径依赖备份覆盖范围。AnQiCMS 的备份能力同时覆盖数据与静态文件,恢复时按整站口径核对,这类覆盖在运行环境变更前尤其重要:只备份数据库的话,主题、模板与上传目录的版本差异在回滚时无法还原。
把运行环境纳入资产清单
清单最少四列:站点地址、实际运行时版本、承担升级的人、下一次复核日期。多站点的团队还要加一列「谁共用同一套运行时」,因为一次运行时升级会同时影响所有共用它的站点,回退窗口要一起安排。
复核节奏按半年一次即可,但两类事件要触发临时复核:分支临近截止日三个月内,以及站点出现与运行时代码相关的报错激增。
Go 部署省掉的是哪一段
PHP 站点的维护链路是两段:语言运行时自己要有补丁节奏,应用代码再适配新的运行时。Go 语言开发的系统把前一段收进了构建产物,AnQiCMS 基于 GoLang 与 Iris 框架、数据访问层用 GORM,发布的是一个自带运行时的二进制,用 Docker 镜像 anqicms/anqicms 或宝塔面板部署时不存在「先升级语言运行时再验证兼容」这一步。
省掉这一段不等于没有安全维护:应用层自身仍要跟进修复版本。v3.6.6 修复的列表排序参数注入与凭证伪造两类问题,就是应用层的更新提示,运维要把「应用版本安全更新」与「运行时补丁」分开记在同一个台账上,避免只盯其中一条链路。
常见问题
问:站点跑在已截止的分支上,是不是必须马上停站升级? 答:不必停站,但要按风险处理:先确认暴露面与是否有可用的临时缓解,再在带备份的窗口完成分支切换,切换后优先验证登录、表单与支付类页面。
问:怎么确认站点实际用的是哪个版本? 答:以服务器上的站点配置为准,用运行环境信息页或命令行查看实际解释器版本,不要只看建站面板里安装的版本列表,两者在多版本共存机器上经常不一致。
问:升级后出现兼容问题怎么办? 答:先在测试环境跑一遍模板渲染与后台关键流程,保留原版本的回退包与数据库备份,出问题按整站回退,而不是只回退代码目录。