昨天网站突然发现不能访问,打开前台和后台都会提示类似“Allowed memory size of 1687321 bytes exhausted (tried to allocate 3684211 bytes) in fuction.php on line 401”这样的代码错误,一看是内存限制的问题于是想到让空间商协助解决,技术人员很快就给出了回复,说是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/(注:代码中***改为你空间的用户名)
你好, username 这个改成什么,不是很清楚,望详解。你qq多少哈?
还有就是我是把languages文件夹删了,现在就没有内存错误了,现在就是英文版的wp了。
你的虚拟主机从哪里买的??
以前用虚拟主机的时候经常出现这样的问题
@World 是呢,我也在考虑要不要换主机!
切换到电脑版才能评论,也就不自适应主题了,希望能改进。
我老早就遇到过这个问题,通过改大内存限制解决的。
你这里广告真不少。
嗯,我用了siteapp的,貌似手机端不能评论,是个问题。。
你终于又活了呀……
哈哈,度娘救了俺!
暂时还没遇到过
嗯,应该是安装了百度wordpress结构化数据插件引起的,虽然可以促进收录但这个插件真耗内存,还是果断卸载了。。