致命错误:在第1561行的public_html/wp-includes/reWrite.php中,允许的内存大小146800640字节耗尽(尝试分配57字节)

时间:2011-11-28 作者:user1893

我不知道这是怎么发生的。周末我在我的网站上工作,一切都很好。今天早上我走进办公室时,我去了现场,得到了这个:

Fatal error: Allowed memory size of 146800640 bytes exhausted (tried to allocate 57 bytes) in public_html/wp-includes/rewrite.php on line 1561
我搜索并找到了一些提供解决方案的文章,但没有一篇对我有用。我注意到,在每种情况下,受影响的文件通常是不同的。我的文件正好是“rewrite.php”。这可能会有所帮助。除此之外,我很困惑。

我知道客户投诉即将到来。希望我能尽快把它修好。

这是什么原因造成的,所以我知道不要重复(如果是我造成的)。有人能帮忙吗?

UPDATE

我在wp配置中定义了内存限制。php到64M,错误中的行引用现在是836,而不是1561。

这是836行的代码:

if ( is_array( $uris ) ) {
            foreach ( $uris as $uri => $pagename ) {
                $this->add_rewrite_tag(\'%pagename%\', "($uri)", \'pagename=\');
                $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
            }
        }

UPDATE

我解决了这个问题。该问题与permalink设置有关。我使用wordpress的CouponPress主题。正如大多数解决方案(php.ini、wp-config.php等)所建议的那样,在增加了内存限制之后,我只需将永久链接更改为默认值,然后返回到我的自定义永久链接。一切似乎都恢复了正常。为什么会这样?我不知道。星期一早上突然出现了错误,大家都发疯了。我想知道这是什么原因造成的,所以如果可以的话,我可以在将来预防它。感谢所有帮助我解决实际问题的人。

3 个回复
SO网友:Kevin Langley Jr.

这里的任何人都无法为你提供如此有限的信息。很明显,这是你最近的变化。

如果您使用版本控制系统(每个人都应该这样),我会回滚更改,然后从那里慢慢重新实现导致此错误的更改,以跟踪并消除它。

SO网友:Mariethadp

致命错误:允许的内存大小为14680640字节,已耗尽(尝试分配57个字节),这会在错误消息中明确说明问题。您正在耗尽资源—php内存。

您可以增加php内存,也可以要求托管提供商为您增加内存。

有几种方法可以增加php内存。有些可能对你有用,有些则不行。如果第一种方法对您不起作用,您可以尝试下一种方法。

1)在wp config中设置内存限制。php-define(\'WP_MEMORY_LIMIT\', "256M");

2.)中的内存限制PHP指令。htaccess文件-设置php_value memory_limit 256M 指令

3)更改php中的内存限制。ini-设置memory_limit = 256M

4.)在运行时设置PHP内存限制-设置ini_set(\'memory_limit\', "256M"); 指令

5)询问您的托管提供商-如果上述任何一项都不会增加您的php内存,请询问您的托管提供商。

创建信息。php文件和添加phpinfo(); 要检查内存限制,请打开域。com/信息。php文件

SO网友:Jeremy Jared

打开wp配置。php,并确保其中包含以下内容:

define(\'WP_MEMORY_LIMIT\', \'64M\');
我收到过类似的错误,这就解决了它。

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。