如何解決WordPress記憶體限制錯誤(2種方法)

錯誤型別:
WP內部錯誤
錯誤名稱:
WordPress内存限制错误
英文名稱:
WordPress Memory Limit Error
錯誤描述:
其实这是我们遇到最常见的问题之一– WordPress内存限制错误。这也可以称为“ PHP内存限制错误”。

How-to-Resolve-WordPress-Memory-Limit-Error-1024x512-1

使用諸如WordPress之類的開源平臺既有優點也有缺點。它既靈活又可無限擴充套件,但還要求你對PHP、Linux及Mysql等有一定的瞭解。在執行故障排除和解決在使用平臺時通常會出現的一些錯誤時,這尤其重要。

打個比方,你被告知達到站點的“PHP記憶體限制”。很多時候這對於小白使用者來說,遇到這種情況只能夠手足無措,尤其是因為您不知道是什麼原因導致了該問題或如何解決它。其實,此問題是最簡單的問題之一,即使對於相對WordPress小白使用者,也應該可以解決。

下面我們將解釋什麼是WordPress記憶體限制錯誤,它為什麼會在你的WordPress網站上發生,及修復此錯誤的選項。

WordPress記憶體限制錯誤簡介

WordPress已經是一個非常成熟與穩定的開源平臺,但“世界無完美之物”,也難以避免錯誤。你可能會遇到許多常見問題,例如臭名昭​​著的“ 死亡白屏 ”或處於“維護模式”的網站。

不過,大多數WordPress錯誤並不難解決和修復。儘管如此,它們可能會對小白站長造成威脅,特別是因為他們完全不知道有關發生了什麼問題以及如何解決問題的任何資訊。

其實這是我們遇到最常見的問題之一– WordPress記憶體限制錯誤。這也可以稱為“ PHP記憶體限制錯誤”,一般你會看到如下類似的提示資訊:

fatal error: allowed memory size of 67108864 bytes exhausted

該錯誤可能在許多不同的情況下發生。但是,最有可能發生在您對網站執行特定型別的操作時,例如:

  • 安裝並啟用新主題或外掛。
  • 上傳影象和其他媒體到網站。

如果您在WordPress網站上遇到此錯誤,請不要擔心。它背後的原因很簡單–我們一起來了解它為什麼產生,就能很好的解決了。

WordPress記憶體限制錯誤產生的原因

報錯資訊中的“記憶體限制”即錯誤之根源。就像其他任何東西一樣,您的網站需要一定數量的記憶體才能儲存其所有資料。這包括其資料庫和檔案,您的所有內容,由外掛和主題新增的程式碼等等。

此記憶體由伺服器提供。購買伺服器主機時,將為您的網站分配一定數量的資源,包括用於儲存網站及網站執行穩定的記憶體。

當然,購買昂貴的伺服器主機一般情況下可為您的網站提供更多的空間和記憶體。但,對於小站長來說,都是從基本伺服器套餐開始的,這不一定是一個問題。但是,這確實可能因你的伺服器分配的記憶體不足導致記憶體限制錯誤。

隨著站點的擴大或開始使用更復雜的外掛和指令碼,最終可能會達到記憶體限制。

當WordPress的某些工作導致較多記憶體佔用時,就可能會出現PHP記憶體限制錯誤,無法完成您嘗試執行的操作。

如何檢查當前的PHP記憶體限制

如果你執行的是WordPress 5.2或更高版本,則可以使用“站點健康”工具檢查網站上當前的PHP記憶體限制。在WordPress儀表板中,轉到“工具”→“站點健康”→“資訊”,然後向下滾動到伺服器部分。在這裡,您可以看到伺服器上的PHP記憶體限制。

檢查PHP記憶體限制

檢查PHP記憶體限制

如果可用記憶體很少(例如32M),那麼:您需要增加分配給站點的記憶體量。下面我們將介紹兩種不同的方法,以解決此問題。

如何解決WordPress記憶體限制錯誤(2種方法)

與許多常見錯誤不同,WordPress記憶體限制問題很容易解決。

當網站達到PHP記憶體限制時,實際上只有兩種解決辦法。可以增加分配給站點的記憶體量,也可以選擇升級伺服器。讓我們探討一下何時以及如何使用這兩種方法。

選項1:增加分配給您網站的PHP記憶體

這看似簡單,但有時顯而易見的解決方案是最佳解決方案。如果您的站點記憶體不足,那麼最簡單的方法就是增加它可以訪問的記憶體量。

顯然,您可以增加限制的範圍取決於你的網站所在伺服器的記憶體容量。在下一節中,我們將詳細討論這一方面。但是,您的站點使用的記憶體少於實際可用的記憶體並不少見。

您網站的當前記憶體限制是在其wp-config.php檔案中設定的,該限制可能匹配或可能不匹配提供商所允許的限制。因此,第一步是嘗試通過編輯檔案來增加PHP的記憶體限制。

使用FTP客戶端訪問站點的檔案

增加站點的記憶體限制將需要使用安全檔案傳輸協議(SFTP)直接登入到站點。如果您從未執行過此操作,則首先需要安裝SFTP客戶端 -建議選擇FileZilla,免費且相對容易上手:

FileZilla-home

FileZilla

查詢wp-config.php檔案

設定並連線FileZilla之後,您應該在與以下類似的介面上檢視:

FileZilla訪問伺服器

FileZilla訪問伺服器

在介面右上區域中,你將看到包含站點檔案的資料夾列表。查詢站點的“根”資料夾,該資料夾通常以站點的域名命名,或稱為public_htmlwww。開啟此資料夾,然後查詢名為wp-config.php的檔案:

wp-config.php檔案

wp-config.php檔案

此檔案儲存有關網站資料庫和設定等資訊。因此,請務必不要更改除我們將要檢視的特定程式碼行以外的任何內容。實際上,在繼續進行任何操作之前,最好對網站進行備份,以防您意外刪除或更改了重要內容。

增加站點的記憶體限制

備份到位後,繼續開啟wp-config.php檔案。它看起來應該像這樣:

wp-config.php檔案示例

wp-config.php檔案示例

然後,在檔案中查詢以下行:

define( 'WP_MEMORY_LIMIT', '256M' );

請注意,該檔案中的數字可能有所不同,因為它代表站點的當前記憶體限制。甚至你還有可能找不到此行。

如果找到該行,嘗試將數值調至更高。在大多數情況下,256MB應該足夠,當然如果你當前設定256MB還是不夠,可以嘗試逐步增加。如果找不到該行,則可以將上面的程式碼貼上在:“/* 好了!請不要再繼續編輯。請儲存本檔案。使用愉快! */”的前一行。

然後,更改儲存到wp-config.php檔案,然後關閉FileZilla。開啟您的站點,然後嘗試重複首次遇到WordPress記憶體限制錯誤時所執行的操作。如果不再出現,則說明問題已解決。

如果仍然遇到錯誤,則可以嘗試開啟wp-config.php檔案並進一步增加記憶體限制。但是,如果您嘗試幾次但不起作用,則可能已達到託管服務提供商允許的最大限制。在這種情況下,您需要嘗試其他方法。

但是,在進行下一步之前,值得注意的是,某些主機可能不允許您通過FTP客戶端訪問站點。在這種情況下,您通常可以通過其他方式(例如,使用cPanel)手動更改記憶體限制。

又或者使用寶塔面板的站長,完成上述操作就更簡單了,登入你的寶塔面板,點選檔案-進入網站對應的根目錄,找到wp-config.php檔案,點選編輯儲存即可。

寶塔面板

寶塔面板

選項2:升級伺服器

每種型別的主機將提供特定數量的資源。但是,有時候,這些資源可能對於您的網站而言會變得不足。

如果您嘗試過如上所述那樣增加站點的記憶體限制,但是沒有起作用,第一步應該去確定網站當前所使用的伺服器提供的記憶體容量。一般情況下你可以通過伺服器提供商提供的網站後臺可以檢視到,又或者直接與之聯絡獲取相關資訊。

如果您已達到站點的最大記憶體限制,並且還是存在WordPress記憶體限制錯誤,則唯一的選擇就是升級伺服器配置了。

對於那些剛開始時考慮價效比而使用共享主機的站長們,可能是時候升級到獨立VPS主機了,後者將會提供了更多的空間和資源。

如果考慮國外雲主機,小編推薦:

Linode -特別推薦,這也是我們經常使用的國外伺服器提供商。 Linode 可選的資料中心比較多,全球有11個資料中心,其中亞洲兩個:孟買1個,新加坡1個,日本1個,悉尼1個;北美5個,全部在美國;歐洲2個:德國法蘭克福1個、英國倫敦1個。

此外,Linode 的價格也非常低,提供最低5美金/月,但配置毫不含糊:1GB 記憶體、1個 CPU、20GB 的固態硬碟儲存空間、1TB 流量、40GB 的入口頻寬和1000GB 的出口頻寬。這個配置對於搭建 Shadowsocks 服務來說,足矣。

Linode伺服器價格表

Linode伺服器價格表

Vultr –這個服務商的伺服器,也是非常靠譜的海外伺服器。在資料中心方面,甚至比 Linode 還要多,全球共17個資料中心,其中北美有9個(西雅圖 Seattle、矽谷 Silicon Valley、洛杉磯 Los Angeles、達拉斯 Dallas、芝加哥 Chicago、新澤西 New Jersey、亞特大 Atlanta 和 邁阿密 Miami;加拿大多倫多);歐洲4個(倫敦 London、阿姆斯特丹 Amsterdam、法蘭克福 Frankfurt 和 巴黎 Paris);亞洲四個(日本東京、韓國首爾、新加坡和澳洲悉尼)。

在價格上,Vultr 甚至要比 Linode 還要有優勢,最低的套餐去到逆天的 2.5美金/月,當然配置會稍微比 Linode 的 5美金/月套餐稍微差一些,20GB的固態硬碟、1CPU、512MB記憶體和500GB 的流量。

相對於 Linode,Vultr 還有個便利性,就是後者支援 PayPal 和 比特幣,前者則需要使用信用卡。

Vultr伺服器價格表

Vultr伺服器價格表

如果是國內伺服器提供商,這就沒什麼好推薦的了,無非就是阿里雲、騰訊雲之類的。注:我們一般採用的是阿里雲。

小結

WordPress網站上遇到錯誤可能會令人沮喪,尤其是如果對這個錯誤沒有掌握太多資訊時。幸運的是,WordPress記憶體限制錯誤比大多數錯誤更容易解決。你只要知道問題所在,並且從問題的起源點著手解決,就非常容易解決了。

在處理PHP記憶體限制問題時,主要有兩個選擇:

  1. 使用SFTP客戶端或類似工具手動增加站點的記憶體限制。
  2. 升級提供更多內容可使用的伺服器主機。

如果你有關於如何處理此特定錯誤有任何疑問,不妨留言與大家一起探討!

評論留言