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