0
我在輸出緩衝區中遇到了一些問題。我緩衝我的腳本並使用回調打印結果。問題是如果在任何時候拋出一個錯誤,什麼都不顯示,我得到一個空白的屏幕。我曾嘗試設置我自己的自定義錯誤處理程序,但似乎沒有任何工作。我有一種感覺,這是因爲錯誤導致我的緩衝區調用回調方法,而不是我的錯誤處理程序。無論是這樣,還是因爲我有錯誤處理程序作爲一種靜態方法,但改變它會導致其他地方的問題。輸出緩衝區內部的錯誤
我真的很感激任何幫助,因爲這一個讓我難住!
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(_CLASS__, '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/>';
}