初步評估

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, … given

WordPress 出現「count(): Argument #1 ($value) must be of type Countable|array」:原因與檢查方式

更新 2026-11-01

從 PHP 8.0 起,count() 收到陣列或 Countable 物件以外的值時,會拋出 TypeError。PHP 7 只會顯示警告,所以會對 null 或字串做 count() 的舊外掛與佈景主題,在 PHP 升級後會讓網站停擺。

你現在看到的是哪一種情況?

在 PHP 7 只會出警告的程式,現在以致命錯誤停止。

程式在那些頁面對空值或字串做 count()。

常見原因

為 PHP 7 寫的程式:外掛或佈景主題從未針對 PHP 8 更新。
選項或中繼資料是空的:應該是陣列的值是空的或是字串。
沒人維護的外掛或佈景主題:沒有任何版本相容主機現在使用的 PHP 版本。

參考資料

  1. count() (PHP.net)
  2. Backward incompatible changes in PHP 8.0 (PHP.net)

不想自己動手處理?WP119 全自動修復

白畫面與致命錯誤(外掛互撞、PHP 版本不相容)屬於自動處理的項目:系統在維修站的副本上開啟除錯模式,找出造成錯誤的外掛或佈景並停用(不刪除);記憶體不足造成的白畫面,則調高記憶體上限。修好後先複驗首頁與內頁,通過才寫回您的主機(WP 後台模式為交付修復完成包)。修復在維修站的網站副本上進行,複驗通過後才寫回。您網站資料庫裡的受保護資料表(會員、留言、訂單、表單填寫)只取結構。SSH/FTP 模式下,系統寫回前先在您的主機建立修復前備份,寫回後驗證沒通過時,以這份備份進行還原。修復未能完成,修復費全額退還。

  1. 初步評估:輸入網址
  2. 複製到維修站:在副本上作業
  3. 找出原因:逐項檢查
  4. 修復與複驗:首頁與內頁
  5. 寫回或交付:複驗通過才進行

這個錯誤在 PHP 升級後出現、網站顯示嚴重錯誤時,可以交給 WP119。

初步評估我的網站 →
初步評估 →