ホームページ  >  記事  >  バックエンド開発  >  ob_end_clean 何か問題が発生しました。助けてください。

ob_end_clean 何か問題が発生しました。助けてください。

WBOY
WBOYオリジナル
2016-06-23 14:05:18933ブラウズ

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がよくわからないのでアドバイスをお願いします!


ディスカッションに返信 (解決策)

ちなみに、次のエラーを投稿してください:
Chrome ブラウザ下
エラー 330 (net::ERR_CONTENT_DECODING_FAILED): 不明なエラー

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);}

PHPcode?1 2345 67891011121314151617181920212223242526272829303132333435363738394041エラー報告(E_ALL) ; set_error_handler( array('test', 'handle_error')); if(function_exists('ob_gzhandl...

なんて才能のある人なんだろう、、、ありがとう

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。