关于升级WordPress 2.5 版后Allowed memory的解决方法
Increasing memory allocated to PHP
由于WordPress 2.5的变化很大,很多插件在最新版本发布前无法正常使用,其中最常见的问题是升级后插件页面不能打开,或者激活某个插件后,插件界面不能打开,并且出现 “Fatal error: Allowed memory size of xxxxxx bytes exhausted” 这样的错误信息,出现这种问题的原因一般是因为 WordPress 所使用的内存超过了PHP默认的最大值,将php.ini文件的memory_limit的改大一些就可以了。
但由于种种原因,很多人无法更改php.ini文件,或者改了但系统却不装在你更改后的php.ini文件,好在WordPress 2.5版给我们提供了不用修改php.ini文件就可以直接PHP内存的方法。
WordPress 2.5版添加了WP_MEMORY_LIMIT这个属性,默认的memory_limit大小为32M,如果当前系统的PHP默认值小于32M的话,WordPress 会自动追加到32M,从下面这段代码就可以看出来,
12 13 14 15 16 | if ( !defined('WP_MEMORY_LIMIT') ) define('WP_MEMORY_LIMIT', '32M'); if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) ) @ini_set('memory_limit', WP_MEMORY_LIMIT); |
但只是对WordPress本身而言,不会影响到其他PHP程序。按照官方的文档,如果想加大应用内存的话,只要在wp-config.php文件中追加 define(’WP_MEMORY_LIMIT’, ‘64MB’);这样代码就可以了。
Increase PHP Memory to 64MB
define('WP_MEMORY_LIMIT', '64MB');
Increase PHP Memory to 96MB
define('WP_MEMORY_LIMIT', '96MB');
可是不知道为什么,我加入后不但后台插件的问题没有解决,连前台网站都无法正常访问了,急忙改了回去,看来直接在配置文件中设置不好用,那就只好去改她的程序了,还好比较方便。找到wp-settings.php文件的第12行
12 13 14 15 16 | if ( !defined('WP_MEMORY_LIMIT') ) define('WP_MEMORY_LIMIT', '32M'); if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) ) @ini_set('memory_limit', WP_MEMORY_LIMIT); |
直接将32M改成64M,保存更新上传,OK,以前因为内存超出的插件现在已经可以正常使用了。
中文关键字:memory_limit wordpress 插件 allowed 升级 方法 memory 关于 2.5 limit php 文件 define 内存 wp


专业的虚拟主机提供商会禁止在程序里使用这个变量,如果人人都加大自己的内存使用权,对机器是很危险的。
谢谢非鱼的提醒,我的主机是HostMonster主机,默认32M,现在运行的WordPress + 插件,一共用的内存是33M,就多一那点点就运行不了。如果按照默认的8M、16M好多插件都不能用了。
[...] 问题已经解决了,解决办法参照 关于升级WordPress 2.5 版后Allowed memory的解决方法 域名Push回来了 关于升级WordPress 2.5 版后Allowed [...]
define(’WP_MEMORY_LIMIT’, ‘64M’);
直接复制贴到 wp-config.php中 我想应该好用了,我觉得好像你的引号不是在英文状态下输入的。
乐乐猪 reply on 08月 15th, 2008:
您说的对,最简单的方法就是将
define(’WP_MEMORY_LIMIT’, ‘64M’);
直接复制到 wp-config.php 中,
但那个版本的wp好像不太好用,我就是加了不好用才改的wp-settings.php 文件。后来换主机了就没有这个问题了。
所有引号都应该是半角的,wp给自动转换了。
: )