昨天網(wǎng)站突然發(fā)現(xiàn)不能訪問,打開前臺和后臺都會提示類似“Fatal error: Allowed memory size of 1687321 bytes exhausted (tried to allocate 3684211 bytes) in fuction.php on line 401”這樣的代碼錯誤,一看是內(nèi)存限制的問題于是想到讓空間商協(xié)助解決,技術(shù)人員很快就給出了回復(fù),說是WordPress程序后臺的某個插件引起,于是果斷幫我把所有插件都給禁用了,然后發(fā)現(xiàn)真的可以訪問了。但是,很快又出現(xiàn)同樣的問題。
確定導(dǎo)致網(wǎng)站不能訪問的原因是過多插件導(dǎo)致WordPress占用內(nèi)存超過WordPress內(nèi)存限制,于是就從“修改WordPress內(nèi)存限制”這一途徑來解決,這里分享下解決WordPress Memory Limit(內(nèi)存限制過小)問題的兩種方法:
方法一:通過修改WordPress自身文件修改放寬內(nèi)存限制(如果你也是由于使用過多插件造成該問題的,建議使用此方法)
只要打開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這個默認(rèn)值修改為更大一些的值,我把它修改為512M后網(wǎng)站就正常了!
方法二:通過修改php.ini實現(xiàn)
(1)如果你使用的是和破折君博客一樣的虛擬主機(jī),控制面板支持自定義php.ini屬性的話,那很簡單,只要在內(nèi)存限制的選項修改下內(nèi)存限制數(shù)值就可以解決。(具體數(shù)值視具體情況而定)
(2)如果你使用的空間不支持自定義php.ini屬性,你可以在public_html 目錄下自行創(chuàng)建一個php.ini文件 ,并添加如下代碼:
memory_limit = *M (注:代碼中*改為你認(rèn)為合適的內(nèi)存大小數(shù)值,一般128就夠了!)
然后在根目錄下修改.htaccess文件,添加下面代碼:
suPHP_ConfigPath /home/username/public_html/(注:代碼中username改為你空間的用戶名)
評論