0%

正威網路行銷工作室,專注於基隆、台北與全台客製化網頁設計,提供專業 RWD 響應式、SEO 搜尋引擎優化、品牌形象設計與網站維護託管服務。

搜尋文章
聯絡資訊
地址基隆市仁二路 220 號 5 樓
追蹤我們

WordPress 記憶體不足(Allowed memory size exhausted)怎麼解決?修改 memory_limit 的 4 種方法

筆電與程式碼符號圖示

WordPress 網站突然白畫面,或出現這樣的錯誤訊息:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

意思是 PHP 可以使用的記憶體(memory_limit)已經用完了。後面那串數字是位元組,除以 1024 兩次就是 MB:134217728 是 128MB,50331648 是 48MB。

常見的觸發時機是:安裝或更新外掛、上傳大圖片、匯入資料、使用頁面編輯器(Elementor 等)編輯大頁面。

第一步:查目前的記憶體上限

到後台「工具 → 網站健康狀態 → 資訊」:

  • 「伺服器」區塊的「PHP 記憶體限制」:主機允許的上限。
  • 「WordPress 常數」區塊的 WP_MEMORY_LIMIT:WordPress 自己設定要用多少。

以前的教學會教你建立一個 phpinfo 檔案來查,那個檔案會把主機的設定全部公開在網路上,現在用網站健康狀態查就好,不需要也不建議再這麼做。

一般網站 256MB 就很夠用;有購物車或頁面編輯器的網站可以設到 512MB。

方法一:修改 wp-config.php(最常用)

用 FTP 或主機的檔案管理員,打開網站根目錄的 wp-config.php,在「That's all, stop editing!」那一行的上面加入:

PHP
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
  • WP_MEMORY_LIMIT:前台網頁使用的記憶體。
  • WP_MAX_MEMORY_LIMIT:後台使用的記憶體(例如處理圖片、更新外掛)。

限制:WordPress 只能在主機允許的範圍內調高。如果主機把上限鎖在 128MB,這裡寫再大也沒用,要用下面的方法,或請主機商調整。

方法二:主機控制台調整(最穩定)

大部分虛擬主機的控制台都能直接修改 PHP 設定:

  • cPanel:「選取 PHP 版本」(Select PHP Version)→「選項」分頁,或「MultiPHP INI Editor」,找到 memory_limit 修改。
  • DirectAdmin、Plesk:在「PHP 設定」相關頁面找 memory_limit。

找不到或不能改,直接寫信請主機商調整最快。

方法三:.user.ini 或 php.ini

如果主機用的是 PHP-FPM(現在大多數主機都是),可以在網站根目錄建立一個 .user.ini 檔案(有些主機是 php.ini),內容:

INI / php.ini
memory_limit = 256M

修改後可能要等幾分鐘才會生效(PHP 預設每 5 分鐘重新讀取一次)。

方法四:.htaccess(只適用部分主機)

Apache (.htaccess)
php_value memory_limit 256M

這個寫法只在 PHP 以 Apache 模組方式執行時才有效。現在多數主機都不是這種方式,加了反而會讓網站出現 500 錯誤;如果加了之後網站打不開,把這行刪掉就會恢復。

不要修改 WordPress 核心檔案

另一篇舊文章(已合併到這裡)教大家直接修改 wp-includes/default-constants.php 裡的數值。請不要這樣做:

  • WordPress 每次更新都會覆蓋核心檔案,你改的數值會被換回去,問題又會再出現。
  • 改錯核心檔案,網站可能整個無法運作。

用方法一的 wp-config.php 就能達到一樣的效果,而且更新時不會被覆蓋。

調高了還是不夠?找出吃記憶體的外掛

記憶體一直不夠用,往往是某個外掛或主題寫得不好,一味調高只是治標。

  1. 安裝 Query Monitor 外掛,前台頁面上方的工具列會顯示每一頁使用了多少記憶體與查詢。
  2. 逐一停用最近安裝的外掛,看記憶體用量有沒有明顯下降。
  3. 找到元兇後,考慮換成更輕量的同類外掛。

延伸閱讀

主機規格不夠、外掛越裝越多的網站,常常會卡在這類問題。正威網路行銷是 25 年經驗的基隆網頁設計工作室,也提供網站維護託管,服務台北與全台客戶,歡迎來聊聊。

分享這篇文章

返回文章列表更多「Wordpress代碼教學」文章

發表留言

還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。

讓我們一起打造
您的專屬網站!