php で致命的なエラーが発生する方法: 最初に「ob_start」を開いて「tmp.php」ファイルを作成し、次に「short.php」ファイルにいくつかのエラー コードを書き込み、最後に「tmp.php」にアクセスします。ファイル。
#php は致命的なエラーをキャプチャします
php エラー ログを記録すると、問題の発見とバグの修正に効果的に役立ちます。php Set_error_handlerエラーと例外をキャプチャするために、set_Exception_handler が提供されています。ただし、set_error_handler は、E_ERROR、E_PARSE、E_CORE_ERROR、E_CORE_WARNING、E_COMPILE_ERROR、E_COMPILE_WARNING、E_STRICT およびその他のエラーをキャプチャできません。一般に、致命的なエラーの場合、PHP インタプリタはコンパイルできなくなりますので、当然、これらのエラーを捕捉することはできませんが、いくつかの方法を使用して、これらのエラー メッセージを巧妙に取得することができます。 推奨: "PHP チュートリアル "
最初に tmp.php<?php //error_reporting(0); ob_start(); set_error_handler('errorHandler'); register_shutdown_function( 'close' ); function 大专栏 php捕获致命错误class="hljs-title">close(){ ob_end_clean(); $error = error_get_last(); echo '<pre class="brush:php;toolbar:false">'; print_r($error); } require 'short.php';を作成し、次に short.php にいくつかのエラー コードを記述します。たとえば、 , echo $a//わざとセミコロンを付けずにtmp.phpにアクセスすると、php自体のエラーメッセージは表示されずにcloseが実行されることがわかります。方法。上記のコードにはいくつかの重要なポイントがあります。 まず、ob_start をオンにします。2 番目: register_shutdown_function を使用して関数を登録します。3 番目: error_get_last 関数を使用してエラー情報を取得します。4 番目: PHP解析 最初のファイルに致命的なエラーがあってはなりません。そうでない場合はキャプチャできません。したがって、独自のフレームワークを構築するとき、またはフレームワークを選択するときは、単一エントリ方式を使用することをお勧めします。
以上がPHPで致命的なエラーをキャッチする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。