昨天网站突然发现不能访问,打开前台和后台都会提示类似“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/***/public_html/(代码中***改为你空间的用户名

也许你也感兴趣:

作者:
该日志由 破折君 于2015年05月18日发表在Php研究分类下,
转载请注明: 两招轻松搞定WordPress提示内存不足
关键字: , ,
【上一篇】
【下一篇】

9 篇回应 (访客:5 篇, 博主:4 篇)

  1. 白白 说道:

    你好, username 这个改成什么,不是很清楚,望详解。你qq多少哈?
    还有就是我是把languages文件夹删了,现在就没有内存错误了,现在就是英文版的wp了。
    你的虚拟主机从哪里买的??

    #1楼
  2. World 说道:

    以前用虚拟主机的时候经常出现这样的问题

    #2楼
  3. 方室网志 说道:

    切换到电脑版才能评论,也就不自适应主题了,希望能改进。
    我老早就遇到过这个问题,通过改大内存限制解决的。
    你这里广告真不少。

    #3楼
  4. 锋子 说道:

    你终于又活了呀……

    #4楼
  5. Weidan 说道:

    暂时还没遇到过

    #5楼
    • 破折君 说道:

      嗯,应该是安装了百度wordpress结构化数据插件引起的,虽然可以促进收录但这个插件真耗内存,还是果断卸载了。。