ob_end_clean 出错了,求教!!!

风骑士之怒 2013-04-10 01:16:21
我想用set_error_handler来统一收集错误,在打印自定义错误提示前,我用了ob_end_clean();但是报错了

PS:我开启了gzip

测试代码:


error_reporting(E_ALL);

set_error_handler(array('test', 'handle_error'));


if(function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler');
} else {
ob_start();
}

class test {

public static function handle_error($errno, $errstr, $errfile, $errline) {
if($errno) {
debug::system_error($errstr);
}
}
}

class debug {

public static function system_error($message) {

ob_end_clean();

echo $message;

exit;
}
}


echo '错误前信息<br/>';

trigger_error('错误内容');


上述代码测试,就报错了。。。ob_end_clean()注释掉就没关系。。。

我对ob_start理解不深,求赐教!
...全文
483 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
风骑士之怒 2013-04-10
  • 打赏
  • 举报
回复
引用 3 楼 minlee881203 的回复:
PHP code?1234567891011121314151617181920212223242526272829303132333435363738394041error_reporting(E_ALL); set_error_handler(array('test', 'handle_error')); if(function_exists('ob_gzhandl……
人才啊,,,感谢
minlee881203 2013-04-10
  • 打赏
  • 举报
回复


error_reporting(E_ALL);

set_error_handler(array('test', 'handle_error'));


if(function_exists('ob_gzhandler')) {
    ob_start('my_ob_gzhandler');
} else {
    ob_start();
}

class test {

    public static function handle_error($errno, $errstr, $errfile, $errline) {
        if($errno) {
            debug::system_error($errstr);
        }
    }
}

class debug {

    public static function system_error($message) {

        ob_clean();
        echo $message;

        exit;
    }
}



echo '错误前信息<br/>';

trigger_error('ddddddddddddddddddddddddd误内容');

function my_ob_gzhandler($buffer,$mod){
    header("Content-Encoding: gzip");
    return gzencode($buffer, 9, FORCE_GZIP);
}

风骑士之怒 2013-04-10
  • 打赏
  • 举报
回复
顺便贴一下错误: chrome浏览器下 错误 330 (net::ERR_CONTENT_DECODING_FAILED):未知错误

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧