理论上,编辑配置。php并添加此行before wp设置。php包含。
define(\'WP_MEMORY_LIMIT\', \'256M\');
should 将WordPress的内存限制提高到256MB或您设置的任何值。这将在整个站点范围内起作用。然而,作为
sorich87 pointed out, 很少有函数会使用硬编码256 MB限制更改此设置。
To Hack or Not To Hack
对此有点担心,
WP_MEMORY_LIMIT
是我遇到的最奇怪的WP设置之一。如果你检查
/wp-includes/default-constants.php
您将发现以下设置:
// set memory limits
if ( !defined(\'WP_MEMORY_LIMIT\') ) {
if( is_multisite() ) {
define(\'WP_MEMORY_LIMIT\', \'64M\');
} else {
define(\'WP_MEMORY_LIMIT\', \'32M\');
}
}
我从未意识到WP会将其默认内存使用率设置得如此之低,直到我在WP codex中找到以下内容:
WordPress将在使用此函数之前自动检查PHP分配的内存是否小于输入值。例如,如果PHP已分配64MB,则无需将此值设置为64M,因为WordPress将在需要时自动使用所有64MB。(source)
这一解释令人宽慰。然而,硬编码的使用@ini_set(\'memory_limit\', \'256M\');
每次WP execute函数需要更多内存时never mentioned. 事实上,我从WP codex中找不到关于这种模糊行为的解释。因为大多数与用户无关的功能要么没有文档记录,要么在codex中没有明确解释。
虽然此设置在大多数情况下都能很好地工作,但在最大内存设置较低的服务器上或在内存使用率较高的情况下,这些功能将变得无用。
在WP人员解决这个问题之前,我认为您唯一的解决方案是修改核心。你可能会发现this post 哈克尔写的,读起来很有趣。他还提交了patch recommendation 在Trac中。补丁文件的上一个链接可能会帮助您查找使用此设置的函数列表。
edit:
这是我给过的最愚蠢的回答,因为
I give a link to your own post (只需知道OP名称是
hakre 2天后):D
edit 2:
正如评论中提到的,这是
fixed by 3.2 release