安装相册插件后网站不能访问,打开前台和后台都会提示类似 「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 改为你空间的用户名)