プログラムがオンラインで実行中にバグが発生し、フロントエンドでのエラー メッセージの出力を避け、開発者にタイムリーに電子メールで通知したい場合は、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);
}
}
// 回到函数带参数:记录当前请求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 中国語 Web サイトの他の関連記事を参照してください。