输出缓冲区内的错误

时间:2009-09-08 18:26:11

标签: php

我的输出缓冲区有些问题。我正在缓冲我的脚本并使用回调打印结果。问题是如果在任何时候抛出错误,没有显示任何内容,我得到一个空白屏幕。我已经尝试设置自己的自定义错误处理程序,但似乎没有任何工作。我有一种感觉这是因为错误导致我的缓冲区调用回调方法而不是我的错误处理程序。无论是那个还是因为我将错误处理程序作为静态方法,但改变它会导致其他地方出现问题。

我真的很感激任何帮助,因为这个让我难过!

public function constructor()
{
    ob_start(array(__CLASS__, 'render'));
    self::$buffer_level = ob_get_level();

    set_error_handler(array(__CLASS__, 'exception_handler'));
    set_exception_handler(array(_C_LASS__, 'exception_handler'));

    RUNNING MY SCRIPT HERE

    ob_end_flush();
}

public static function exception_handler($exception, $message = NULL, $file = NULL, $line = NULL)
{
    while (ob_get_level() > self::$buffer_level)
    {
    ob_end_clean();
    }

    echo $exception.' - '.$message.' - '.$file.' - '.$line.'<br/>';
}  

2 个答案:

答案 0 :(得分:0)

_C_LASS__

看起来你错放了一个_那里

答案 1 :(得分:0)

该死的,这实际上是一个不在剧本中的拼写错误,所以这不是造成问题的原因。不错的地方!