Can';无法在Wordpress中添加新帖子:内存错误

Can';无法在Wordpress中添加新帖子:内存错误,wordpress,out-of-memory,Wordpress,Out Of Memory,在我的Wordpress安装中,由于更新到最新版本3.5.2,我目前无法添加新帖子。单击“发布>添加新内容”显示以下错误: Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 491520 bytes) in /var/www/www.mysite.com/wp-admin/edit-form-advanced.php on line 306 出于测试目的,我在禁用所有插件的情况下运行

在我的Wordpress安装中,由于更新到最新版本3.5.2,我目前无法添加新帖子。单击“发布>添加新内容”显示以下错误:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 491520 bytes) in /var/www/www.mysite.com/wp-admin/edit-form-advanced.php on line 306
出于测试目的,我在禁用所有插件的情况下运行默认模板(2111)

在php.ini、wp-config.php和default-constants.php中,我已经将内存增加到512M,但我似乎仍然无法克服这个错误(看起来只有256M的余量)

仅供参考…这个数据库不是新的-它有超过一千个帖子。此问题仅适用于某些管理员用户,其他用户可以看到Post>添加新屏幕,但仍可以在管理区域的其他页面上看到内存问题


任何帮助都将不胜感激。谢谢

在第108行的
/wp admin/admin.php中:

if ( current_user_can( 'manage_options' ) )
    @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
这可能就是为什么它只适用于一些管理员用户,而不适用于其他用户

您可以在根wp目录的
wp config.php
文件中设置常量,如下所示:

define( 'WP_MAX_MEMORY_LIMIT', '512M' );

然而,你不应该真的需要这样做。。。好像还有别的事情发生。。祝你好运。

经过大量的努力,加上一些额外的外部帮助,我已经解决了这个问题。事实证明,这是用户帐户下的元数据积累,用户帐户被设置为跟踪弹出式帮助消息。它被安全地删除,一旦删除,网站的加载速度提高了约30%,并且修复了我们遇到的所有管理问题,包括这里列出的问题

简单修复。。。只需对WordPress数据库运行以下查询:

DELETE FROM wp_usermeta WHERE meta_key = 'dismissed_wp_pointers'
我还了解到,向元数据添加两个索引也有助于提高性能,因此,如果您想快速调整,也可以尝试以下两个SQL调用:

ALTER TABLE wp_usermeta ADD INDEX USING BTREE (meta_value(255));
ALTER TABLE wp_postmeta ADD INDEX USING BTREE (meta_value(255));

希望这能帮助任何有同样问题的人

您是否编辑了正确的
php.ini
?你使用Apache还是fast cgi,或者suhosin补丁?使用nginx。。。我确信我之所以编辑了正确的php.ini,是因为在用php_info()重新启动后得到确认,并且正确显示分配了512MB。不过谢谢你。。。这是我反复检查过的东西。只是检查一下。您确实重新启动了nginx和fast_cgi服务,对吗?而且既然您使用了nginx,您是否也会碰巧使用php fpm包装器?如果是这样,它是否在套接字上运行,如果是这样,(几乎在那里)您可以发布资源分配“/etc/init.d/nginx restart”和nginx正常重启。我想它重新启动是正确的,因为php_info()更新了我在php.ini中所做的更改。但是我没有重新启动fast_cgi…有必要吗?如果你真的很绝望,找到do_action函数,并回显标记名。你会看到所有运行的动作挂钩的垃圾邮件,你会看到它的爆炸点。谢谢,迈克。是的,我确实编辑了wp config.php。。。我已经为此工作了很长一段时间,并且已经尝试了一切!我将尝试一下do_action echo技巧,看看会出现什么。谢谢我在wp includes/plugin.php和一个Twitter插件中找到了“function do_action()”,但既然我所有的插件都被禁用了,Wordpress难道不需要调用这个do_action函数吗?很抱歉,很快与您联系。。。添加了echo,Wordpress肯定会调用该函数,即使所有插件都已停用。它在以下标记处消失:wp_insert_post所以我一直在跟踪do_操作轨迹,并注意到它在结尾处称为“shutdown”(在我最初的问题中出现内存错误后才出现)。看起来post-new.php页面完成了,但从未输出到屏幕,只是错误。我现在更糊涂了。