ホームページ  >  記事  >  バックエンド開発  >  PHPで致命的なエラーをキャッチする方法

PHPで致命的なエラーをキャッチする方法

藏色散人
藏色散人オリジナル
2020-07-23 10:00:353138ブラウズ

php で致命的なエラーが発生する方法: 最初に「ob_start」を開いて「tmp.php」ファイルを作成し、次に「short.php」ファイルにいくつかのエラー コードを書き込み、最後に「tmp.php」にアクセスします。ファイル。

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(&#39;errorHandler&#39;);
register_shutdown_function( &#39;close&#39; );
function 大专栏  php捕获致命错误class="hljs-title">close(){
ob_end_clean();
$error = error_get_last();
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($error);
}
require &#39;short.php&#39;;

を作成し、次に short.php にいくつかのエラー コードを記述します。たとえば、 ,

echo $a//わざとセミコロン

を付けずにtmp.phpにアクセスすると、php自体のエラーメッセージは表示されずにcloseが実行されることがわかります。方法。上記のコードにはいくつかの重要なポイントがあります。

まず、ob_start をオンにします。

2 番目: register_shutdown_function を使用して関数を登録します。

3 番目: error_get_last 関数を使用してエラー情報を取得します。

4 番目: PHP解析 最初のファイルに致命的なエラーがあってはなりません。そうでない場合はキャプチャできません。したがって、独自のフレームワークを構築するとき、またはフレームワークを選択するときは、単一​​エントリ方式を使用することをお勧めします。

以上がPHPで致命的なエラーをキャッチする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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