我不知道这是怎么发生的。周末我在我的网站上工作,一切都很好。今天早上我走进办公室时,我去了现场,得到了这个:
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等)所建议的那样,在增加了内存限制之后,我只需将永久链接更改为默认值,然后返回到我的自定义永久链接。一切似乎都恢复了正常。为什么会这样?我不知道。星期一早上突然出现了错误,大家都发疯了。我想知道这是什么原因造成的,所以如果可以的话,我可以在将来预防它。感谢所有帮助我解决实际问题的人。