解決WordPress致命錯誤Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 10220888 bytes)

WordPress致命錯誤:記憶體不足?教你5分鐘徹底搞定WordPress 的memory_limit 問題

一、問題概述

在使用中 WordPress 時,如果你遇到了這樣的報錯:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 10220888 bytes)

這意味著 PHP 記憶體不足,導致系統無法正常運作。你的後台頁面打不開,儀錶板功能也卡住。

這種錯誤特別常見於大流量或啟用WordPress外掛過多的網站。

那麼即使你將記憶體調高到了 512M、甚至 3024M,問題依然存在,到底是什麼卡住了?

接下來我們將一步步分析可能的原因,並教你如何一勞永逸地解決這個問題。

解決WordPress致命錯誤Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 10220888 bytes)

二、為什麼調高memory_limit 還是無效?

你已經將 memory_limit 從預設的 256M 提升到了 512M3024M,但問題依舊。這說明:

  1. PHP 設定沒有生效:某些伺服器環境可能忽略了你手動更改的 php.ini
  2. 外掛或主題佔用過多資源:某些外掛程式或自訂程式碼消耗了超大記憶體。
  3. 伺服器配置限制:伺服器可能對PHP 腳本的記憶體分配進行了硬性限制,導致設定超出後也無效。

要解決這種情況,需要全面排查伺服器和WordPress 的各項配置。

三、逐步解決方案

1. 修改php.ini 文件

首先找到你的 php.ini中 文件,這通常位於 /etc/php//usr/local/php/ 路徑下。

搜索 memory_limit,確保它設定為:

memory_limit = 512M

然後重啟你的 Web 伺服器

  • 阿帕奇sudo service apache2 restart
  • Nginx的sudo service nginx restart

介紹:有些共享主機無法存取php.ini,這時你可以跳到下一個方法。

2. 在wp-config.php 中覆蓋PHP 記憶體限制

即使伺服器的記憶體配置準確,WordPress 有時也會因為自身設定而導致記憶體不夠用。

所以,你可以在 wp-config.php文件 文件裡手動設定記憶體限制:

define( 'WP_MEMORY_LIMIT', '512M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

把這段程式碼放在 wp-config.php 文字 頂部,確保加載時就能生效。

  • WP_MEMORY_LIMIT:前端記憶體上限,控制使用者存取頁面時的資源使用。
  • WP_MAX_MEMORY_LIMIT:後台記憶體上限,確保管理作業時不會因記憶體不足而失敗。

3. 檢查外掛和主題的記憶體消耗

某些 高資源佔用的插件 可能會造成記憶體耗盡,例如快取外掛、SEO插件或電子商務插件(如WooCommerce)。

解決辦法

  • 關閉所有插件,逐一開啟排查。
  • 切換到預設主題(如Twenty Twenty-Three)看看問題是否解決。
  • 使用 查詢監視器 插件來查看記憶體消耗高的元件。

4. 使用.htaccess 或使用者自訂PHP 設定

如果你用的是 共享主機,可以透過修改 的。htaccess 檔案來提升PHP 記憶體:

php_value memory_limit 512M

儲存後,刷新你的儀錶板頁面,檢查問題是否解決。

5. 聯繫伺服器提供者

有些情況下,伺服器對PHP 的記憶體使用做了強制限制。

即使你修改了記憶體限制,伺服器也不會讓它生效。

這時,你需要聯絡你的 主機提供者,請他們幫你提升記憶體配額。

四、最終方案:停用不必要的功能,最佳化程式碼

即使你成功提高了記憶體上限,也不能忽視網站的 效能最佳化。過度依賴外掛程式或使用資源密集的主題可能導致記憶體頻繁不足。因此:

  1. 刪除 不必要的插件 和冗餘代碼。
  2. 使用高效的快取插件(如 WP RocketW3總緩存)。
  3. 定期優化資料庫,清理垃圾資料。

五、總結:解決memory_limit 的高效步驟

  1. 確保php.ini 的修改生效:設定 memory_limit 為512M 或更高。
  2. 在wp-config.php 裡定義記憶體限制:確保WordPress 使用足夠記憶體。
  3. 排查外掛和主題問題:停用高資源佔用的插件。
  4. 必要時聯繫伺服器提供者:確保伺服器不會強制限制你的PHP 記憶體。
  5. 優化網站效能:減少不必要的插件、最佳化資料庫,提高整體運作效率。

優化是長久之計,記憶體只是基礎

透過本文的步驟,你不僅能解決這個煩人的 致命錯誤,也學到如何排查記憶體問題的思路。

但是,光靠不斷提升記憶體並不是解決網站問題的根本方案。

合理優化程式碼、清理無用插件,才是讓網站長期穩定運作的關鍵。

希望你能從這篇文章中有所收穫,並且立刻去實踐這些技巧吧!

有什麼比解決棘手問題更讓人開心的呢? 💪

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《解決WordPress致命錯誤Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 10220888 bytes)》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-32129.html

想解鎖更多隱藏秘技🔑,歡迎加入Telegram頻道!

喜歡就分享和按讚!您的分享與按贊,是我們持續的動力!

 

發表評論

您的郵箱地址不會被公開。 必填項已用 * 標註

回到頁首