文章

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