今天,当我尝试在本地编辑网站时,出现了这样的奇怪错误:
严重错误:耗尽的268435456字节的允许内存大小(尝试 分配6874029536211531203字节) D:\ wamp64ario \ www \ owjgraph \ wp-includes \ functions.php在5231行上
为什么它试图分配6874029536211531203?
有时候,当我尝试访问登录页面时会收到此消息,有时是在不同情况下,例如仪表板或更新帖子等。
我尝试了很多事情但没有成功:
memory_limit
增加到256、512或1GB,但没有成功。他们都没有解决我的问题,我真的很困惑。
我的Windows或注册表有问题吗?如何调试或跟踪此问题的出处?
答案 0 :(得分:0)
尝试:查看您的错误日志,您可能会得到一条跟踪,该跟踪将为您自动解决问题(如无限循环)。
找到引发错误的行并确定是否可以重构该行以避免内存使用。
您可以在wp-config中覆盖php的内存分配,如下所示:
define( 'WP_MAX_MEMORY_LIMIT' , '512M' );
,但我认为这只是创可贴。可能有问题,您需要对其进行修复以确保应用程序的长期健康。
答案 1 :(得分:0)
我也发生了同样的事情。如果我使用var_dump stream_get_wrappers(),则会得到很长的乱码,结果很奇怪。我认为这是WAMP的错,因为我在纯PHP中也遇到了此错误。 WordPress的临时解决方案:
打开wordpress / wp-includes / functions.php并修改wp_is_stream函数,如下所示:
function wp_is_stream( $path ) {
$wrappers = stream_get_wrappers();
for ($i=0;$i<count($wrappers);$i++) {
if (strlen($wrappers[$i])>100) {
unset($wrappers[$i]);
}
}
$wrappers_re = '(' . join('|', $wrappers) . ')';
return preg_match( "!^$wrappers_re://!", $path ) === 1;
}
我使用WampServer 3.0.6 64bit