ホームページ  >  記事  >  バックエンド開発  >  PHPエラー処理関数

PHPエラー処理関数

王林
王林オリジナル
2019-10-12 11:46:292551ブラウズ

PHPエラー処理関数

プログラムがオンラインで実行中にバグが発生し、フロントエンドでのエラー メッセージの出力を避け、開発者にタイムリーに電子メールで通知したい場合は、register_shutdown_function 関数をディスパッチできると便利です。

スクリプトの実行完了後、または exit() の後に呼び出される関数を登録します。

register_shutdown_function() は複数回呼び出すことができ、これらの登録されたコールバックは登録された順序で順番に呼び出されます。登録されたメソッド内で exit() を呼び出すと、すべての処理が中止され、他の登録された中止コールバックは再度呼び出されません。

register_shutdown_function 関数。スクリプトの実行が完了するか、予期せぬ異常終了によって PHP の実行がシャットダウンされると、関数が呼び出され、error_get_last## と組み合わせて使用​​できます。 # エラー情報を取得するために使用します。

register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )

呼び出し可能なコールバック関数

parameter は、追加のパラメーターを渡すことで、中止関数にパラメーターを渡すことができます。

#DEMO1:

//关闭错误报告
error_reporting(0);
//实现自己的错误信息展示
register_shutdown_function(‘myShutdown‘);
$debug = true;
function myShutdown() {
 global $debug;
 // 无论错误是否发生,这句都会执行
 echo ‘ERROR‘ , ‘<br/>‘;
 if (!$debug) {
   $error = error_get_last();
   // todo 可以在这里做邮件发送提醒 或 错误日志收集
   var_export($error);
 }
}

DEMO2:

// 回到函数带参数:记录当前请求URL
$current_page = htmlspecialchars($_SERVER[‘SCRIPT_NAME‘], ENT_QUOTES, ‘UTF-8‘);
$current_page .= $_SERVER[‘QUERY_STRING‘] ? ‘?‘.htmlspecialchars($_SERVER[‘QUERY_STRING‘], ENT_QUOTES, ‘UTF-8‘) : ‘‘;
register_shutdown_function(function ($current_page) {
 //todo send email or log
}, $current_page);
error_get_last() 
//错误信息查看:http://php.net/manual/zh/errorfunc.constants.php
推奨チュートリアル:

PHP ビデオ チュートリアル

以上がPHPエラー処理関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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