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