文章

PHP 维护终止后如何因应?企业网站的升级取捨与时程安排

返回

PHP 终止维护究竟指的是什么?

所谓 PHP 终止维护(End of Life),是指该版本已不会再收到官方推出的安全更新。 到 2026 年 11 月,7.4、8.0 与 8.1 皆已结束,8.2 也将于 2026 年 12 月 31 日截止。网站若仍停在这些版本,往后被发现的安全问题就不会再有官方补丁。

PHP 可比作大楼的承重骨架,页面与功能都建在其上。维护结束类似营造厂表示不再派员检查或修缮:建物仍可入住,但之后的结构瑕疵必须自己想办法。

与业主沟通时,经常出现「网站沒故障,为何要升级?」的疑问。多数时候听起来合理,直到漏洞真正曝光的那一天。

从 2026 年 10 月的 PHP2Shell 能学到什么

2026 年 10 月 21 日,PHP 官方紧急处理两个合称 PHP2Shell 的漏洞(CVE-2026-109618、CVE-2026-109619),严重分数均为 CVSS 9.2。缺陷位于解析连线请求的阶段,网站程式尚未执行就可能遭到利用。对方不必取得帐号,站内既有的登入与表单验证也起不了阻挡作用。

这次事件有三点适合企业记住:

  • 正式修补只发给 8.2 及以上:包含 8.2.35、8.3.36、8.4.27、8.5.12。7.4、8.0、8.1 仅有原始码层级修正,还须等待主机商或作业系统厂商重新封装,有些反应迟缓,有些则完全不处理。
  • 入侵尝试早于公开说明:国外云端服务在公告前 4 天已看到攻击行为,公告后数日内自动化扫描迅速增加。扫描对象涵盖整个网路,不会挑公司大小。
  • 主机商更换 PHP,不等于网站已脱险:许多网站留在旧版,是因为程式一换新版就会出错,主机商因此不愿更动。

直接说,终止维护的风险平时不易看见,要等下一个像 PHP2Shell 这样的漏洞,损失才会集中出现。

目前各版本还能维护多久

现行 PHP 版本通常先有约两年的一般维护,同时修错误与安全问题,其后再约两年只处理安全更新,合计大约四年。下表是各版本目前的情形:

版本安全支援截止日2026 年 11 月现况建议方向
7.42022-11-28✗ 终止已满四年应尽快升级,通常要连框架一起处理
8.02023-11-26✗ 维护已结束宜尽早安排升级
8.12025-12-31✗ 维护已结束建议尽速升版
8.22026-12-31! 剩余不到两个月年底前排入时程
8.32027-12-31✓ 只剩安全更新尚可使用,明年再规划
8.42028-12-31✓ 仍在维护期新专案与升级的优先版本
8.52029-12-31✓ 仍在维护期新专案与升级的优先版本

较稳妥的做法是一次升到 8.4 或 8.5。若只停在 8.3,明年底多半还要再测一轮,等于同一套验证付两次钱。

如何查出网站实际的 PHP 版本

现场常见的状况是,负责人並不知道网站跑哪一版,当初的厂商也已经联络不到。确认方式大致有三种:

  1. 向维护厂商或主机商询问:请对方提供网站「真正在执行」的 PHP 版本。同一台主机可能同时安装数个版本,控制台看到的不一定是网站正在用的。
  2. 进入主机管理后台:cPanel、Plesk 这类介面多半有「PHP 版本」或「PHP 设定」页面。
  3. 查看回应标头:有些网站会在回应里带出版本号,但多数主机为了安全会隐藏,查不到属于正常情况。

一并确认网站使用的内容管理系统或程式框架,以及该框架自身的版本。框架也有独立的维护期限,旧框架常常无法搭配新版 PHP,所以两者往往要一起升级。

维持旧版、购买延长维护,或升级到新版

一旦确认网站使用的是已终止维护的版本,实际上可以走三条路:

对照项目继续沿用旧版付费延长安全维护升到 8.4 或更新
能否收到安全修补✗ 收不到! 取决于厂商,常常延后✓ 有官方正式修补
短期支出✓ 当下不用付钱! 每年都要付费! 一次付清的升级费用
长期支出✗ 出事后的復原成本难以估计✗ 年年付费,问题依旧✓ 之后只需例行的小版本更新
新外挂与新功能是否可用✗ 愈来愈多新套件不支援旧版✗ 同样无法使用✓ 可以使用
主机商是否继续提供该版本✗ 不少主机商会强制撤下旧版! 要先确认主机商是否配合✓ 会继续提供
适合什么情况网站即将下线或准备整站改版三到六个月内要改版,需要过渡网站还要再使用两年以上

判断可以很直接:网站若还要再用两年以上,就安排升级;若半年内要整站改版,就把预算留给改版,过渡期间请主机商先套上暂时的防护。最不建议「先搁着,等出事再谈」。网站被入侵后的清除与復原,花费和停机时间通常都比升级更高。

动手升级时,哪些环节必须一起改

不少人以为升级 PHP 只是主机商按一个按钮。按钮确实有,但旧网站按下之后,常见结果是白画面、后台无法登入,或结帐时发生错误。原因是下面几个部分要一起调整:

  • 网站程式本身:新版 PHP 移除了部分旧语法,写得越早的网站要改的地方越多。从 7.4 跨到 8.4 经过好几个版本,工作量与从 8.2 升到 8.4 相差很大。
  • 外挂与套件:网站使用的外挂和程式套件都要换成支援新版的版本,已经停更的外挂则需寻找替代。
  • 金流与电子发票串接:金流与电子发票厂商的套件通常要一并更新,而且要在测试环境实际完成一笔付款、开立一张发票,确认付款状态与通知信都正常。
  • 资料库写法:少数旧式查询在新的资料库连线方式下会失败。

工期视网站规模而定。有会员、购物车、金流或多语系的网站,要验证的项目较多,时间也较长。仍使用 8.2 的网站,建议现在就请厂商评估时程,才有机会在年底前完成。

施工前后建议逐项确认的问题

委託厂商升级时,可以直接用下表提问。回答具体,代表对方做过规划;回答含煳,代表风险仍留在自己这边:

要提出的问题值得放心的回答需要留意的回答
施工前会不会备份?程式与资料库都会完整备份,出问题可以还原「主机商应该有备份」
升级在哪里进行?先在测试站做完,验收通过才切换正式站「直接在正式站修改,比较快」
会验证哪些功能?依网站实际功能列出清单,包含表单、会员、购物车与各种付款「首页打得开就可以」
金流要如何确认?每种付款方式各下一笔测试订单,核对付款状态与通知信完全沒有提到金流
升级后若出问题怎么处理?有明确的保固期间与回覆时限「以后再商量」
框架和外挂会不会一起升?会,並说明哪些外挂需要替换「只更换 PHP 版本」

升级完成后的第一週,要特別看错误纪录、表单通知信是否正常寄出,以及订单与付款状态。建议把 PHP 版本纳入每年的网站维护项目,在支援截止前一年就排好下一次升级,不要每次都等漏洞公告才动作。维护预算可以依客制网站每年需要照顾的范围来估算。

结语:別等到下一个漏洞才处理升级

很少人觉得 PHP 升级有趣,但它是网站资安里少数做了就会降低风险的工作。可以记住下面三点:

  1. 先查版本,再决定要不要支出:只有知道网站与主机实际使用的 PHP 和框架版本,才判断得出风险。
  2. 还要再用两年以上就升级,而且直接升到 8.4 以上:避免明年把同一套测试再做一次。
  3. 升级必须先在测试站完成:先备份、逐项验收,再切换上线,正式网站在施工期间仍可正常营运。

若还不清楚网站现况,可先依资安防护要点做一次盘点,或请目前的维护人员协助查看版本,以及需要调整的范围。

WhatsApp
Chatbot Icon ANGLIA AI Chatbot
×
For more efficient responses, please shorten your question