0

在我的 Wordpress 安装中,自更新到最新版本 3.5.2 以来,我目前无法添加新帖子。单击Post > Add New会显示以下错误:

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

出于测试目的,我在禁用所有插件的情况下运行了默认模板(21 个)。

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

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

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

4

2 回答 2

0

/wp-admin/admin.php第 108 行:

if ( current_user_can( 'manage_options' ) )
    @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );

这可能就是为什么它适用于某些管理员用户而不适用于其他用户。

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

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

然而,你不应该真的需要这样做......似乎还有其他事情发生......祝你好运。

于 2013-07-30T18:47:53.043 回答
0

经过大量的努力,加上一些额外的外部帮助,我已经解决了这个问题。事实证明,这是在设置为跟踪弹出帮助消息的用户帐户下积累的元数据。它被安全删除,一旦删除,网站的加载速度提高了约 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));

希望对遇到同样问题的人有所帮助!

于 2013-08-01T15:35:35.497 回答