gpt4 book ai didi

php - 如何在 PHP 中调试 "Fatal error: Allowed memory size of xxx bytes exhausted"

转载 作者:可可西里 更新时间:2023-10-31 22:43:49 24 4
gpt4 key购买 nike

调试“ fatal error :允许的 268435456 字节内存大小耗尽”错误的最佳策略是什么?我得到的这个错误很奇怪,显然有什么地方不对劲。导致它的功能是

/**
* Flush all output buffers for PHP 5.2.
*
* Make sure all output buffers are flushed before our singletons our destroyed.
*
* @since 2.2.0
*/
function wp_ob_end_flush_all() {
$levels = ob_get_level();
for ($i=0; $i<$levels; $i++)
ob_end_flush();
}

我只是重新设置了我正在处理的一些代码的基础,并开始使用它。你调试这个的策略是什么?

最佳答案

试试下面的代码,如果你的代码达到指定的字节数,它就会回显并退出。而不是崩溃:

function wp_ob_end_flush_all() {
$levels = ob_get_level();
for ($i=0; $i<$levels; $i++){
ob_end_flush();
if(memory_get_peak_usage() > 268435400) { // 268435456
echo memory_get_peak_usage(). ' reached! now we should stop the script.' ;
break; // or die();
}
}
}

更新要回答您的问题,调试泄漏的一种方法是使用 xdebug,另一种方法是使用我在示例中给出的函数,或者用 memory_get_usage 包装您的可疑函数并比较差异。

关于php - 如何在 PHP 中调试 "Fatal error: Allowed memory size of xxx bytes exhausted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20507046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com