安裝相簿外掛後網站不能訪問,開啟前臺和後臺都會提示類似 「Fatal error: Allowed memory size of 1687321 bytes exhausted (tried to allocate 3684211 bytes) in fuction.php on line 401」 這樣的程式碼錯誤,一看是記憶體限制的問題於是想到讓空間商協助解決,技術人員很快就給出了回覆,說是 WordPress 程式後臺的某個外掛引起,於是果斷幫我把所有外掛都給停用了,然後發現真的可以訪問了。但是,很快又出現同樣的問題。

WordPress 記憶體限制

確定導致網站不能訪問的原因是過多外掛導致 WordPress 佔用記憶體超過 WordPress 記憶體限制,於是就從 「修改 WordPress 記憶體限制」 這一途徑來解決,這裡分享下解決 WordPress Memory Limit(記憶體限制過小) 問題的兩種方法:

方法一:透過修改 WordPress 自身檔案修改放寬記憶體限制 (如果你也是由於使用過多外掛造成該問題的,建議使用此方法)

只要開啟 WordPress 根目錄 wp-includes 資料夾下 default-constants.php 檔案,搜尋 「set memory limits」 找到如下程式碼

// set memory limits

if ( !defined(『WP_MEMORY_LIMIT』) ) {

if( is_multisite() ) {

define(『WP_MEMORY_LIMIT』, 』64M』);

} else {

define(『WP_MEMORY_LIMIT』, 』32M』);

}

}

if ( ! defined( 『WP_MAX_MEMORY_LIMIT』 ) ) {

define( 『WP_MAX_MEMORY_LIMIT』, 『256M』 );

}

然後把 define(『WP_MEMORY_LIMIT』, 』32M』);32M 這個預設值修改為更大一些的值,我把它修改為 512M 後網站就正常了!

方法二:透過修改 php.ini 實現

(1) 如果你使用的是和破折君部落格一樣的虛擬主機,控制面板支援自定義 php.ini 屬性的話,那很簡單,只要在記憶體限制的選項修改下記憶體限制數值就可以解決。 (具體數值視具體情況而定)

(2) 如果你使用的空間不支援自定義 php.ini 屬性,你可以在 public_html 目錄下自行建立一個 php.ini 檔案 ,並新增如下程式碼:

memory_limit = *M(注:程式碼中*改為你認為合適的記憶體大小數值,一般 128 就夠了!)

然後在根目錄下修改.htaccess 檔案,新增下面程式碼:

suPHP_ConfigPath /home/username/public_html/(注:程式碼中 username 改為你空間的使用者名稱)