版本過期不會令網站即時故障,所以最容易被忽略。本文用一張檢查清單,帶你由「查出真正使用的版本」走到「安全上線」,並說明哪些情況適合交給技術團隊處理。
PHP 每個主要版本約有兩年完整支援、再加兩年只提供關鍵安全修補。到了 End of Life(EOL),官方便不再發佈任何更新——即使之後發現嚴重漏洞,也不會有官方修补。以 2026 年 11 月計:
| 版本 | 狀態 | 安全支援至 |
|---|---|---|
| 7.4 / 8.0 / 8.1 及更早 | 已 EOL | 已結束 |
| 8.2 | 只提供安全修補 | 2026-12-31 |
| 8.3 | 只提供安全修補 | 2027-12-31 |
| 8.4 / 8.5 | 完整支援 | 2028-12-31 / 2029-12-31 |
2026 年 10 月 PHP 曾一次過修補兩個可讓未經身分鑑別攻擊者遠端執行程式碼的嚴重漏洞,官方為仍受支援的 8.2 至 8.5 分支發佈更新,而已 EOL 的版本則沒有官方修补。WordPress、Drupal、Joomla 與 Magento 等系統的底層都建基於 PHP,因此這不是「網站有沒有壞」的問題,而是「底層還有没有人幫你補洞」的問題。支援日期請以 php.net 官方頁面 為準。
最常見的誤會,是把命令列看到的版本當成網站使用的版本。兩者往往不同:
php -v 只看得到 CLI 的 PHP。ls /run/php/)、寄存控制台的 PHP 版本設定,或暫時建立 phpinfo() 頁面查看——看完請立即刪除,避免曝露伺服器資訊。升級前先準備「可以回到原狀」的還原點,比任何檢查都重要:
mysql_*、each()、create_function())。memory_limit、upload_max_filesize、已安裝擴充套件),升級後要比對。許多人會直覺選「下一個版本」,但在 2026 年底這反而是最不划算的選擇:8.2 的安全支援在 12 月 31 日就結束,升上去很快又要再升一次。一般建議:
error_log 與 deprecation 警告,修正相容性問題。| 現象 | 常見原因 | 處理方向 |
|---|---|---|
| HTTP 500 / 白畫面 | 外掛或主題呼叫已移除的函式 | 先切回原版本,逐一停用外掛定位,更新或替換後再升 |
| 表單寄不出信 | mail() 設定、SMTP 外掛或 TLS 相容性 | 改用 SMTP 外掛,檢查連接埠與驗證設定 |
| 版面或圖片異常 | 快取未清、GD/影像擴充套件變動 | 清除所有快取,比對已安裝的 PHP 擴充套件 |
| 後台很慢或登出 | session 設定或物件快取不相容 | 檢查 session 儲存與快取外掛版本 |
若只是單一 WordPress 網站、外掛都有在更新,控制台又能直接切版本,自行升級是可行的。但以下情況建議交給技術團隊:
技術上可以運行,但官方已不再提供安全修補;一旦出現新漏洞,該版本不會有官方更新,風險由網站擁有者自行承擔。建議盡快規劃升級至仍受支援的版本。
以 2026 年底計,PHP 8.2 的安全支援即將在 12 月 31 日結束,因此不建議把 8.2 當作長期目標。一般建議升至 8.4 或 8.5,並先確認 WordPress 核心、主題與外掛的相容性。
多數共用寄存可在控制台切換 PHP 版本,但無法更換系統套件或調整 PHP-FPM 细节。若控制台沒有提供較新版本,或切換後出現錯誤,就需要寄存商或技術團隊協助。
先切回原版本讓網站恢復,再查看 error log 找出報錯的外掛或程式;常見是呼叫已移除的函式、舊版框架不相容。逐一停用外掛可快速定位,修正後再重新升級。
延伸閱讀:網頁寄存服務 · WordPress 建站+企業郵件設定入門 · IT 支援外判 · 全部技術文章