作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
调试“ 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/
我是一名优秀的程序员,十分优秀!