安裝相冊插件後網站不能訪問,打開前台和後台都會提示類似 「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 改為你空間的用户名)