ホームページ  >  記事  >  バックエンド開発  >  PHPの register_shutdown_function 関数の使い方の詳しい説明

PHPの register_shutdown_function 関数の使い方の詳しい説明

怪我咯
怪我咯オリジナル
2017-07-04 11:44:421511ブラウズ

この記事では主にPHPを紹介しますエラー処理関数 register_shutdown_function の使用例、必要な友人は参考にしてください

プログラムをオンラインで実行しているときにバグに遭遇した場合、エラーメッセージを出力したくないです フロントエンドで同時に電子メールを送信できます。 register_shutdown_function 関数が便利であることを開発者に通知します。

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

register_shutdown_function() は複数回呼び出すことができ、これらの登録されたコールバックは、登録された順序で順番に呼び出されます。 登録されたメソッド内で exit() を呼び出すと、すべての処理が中止され、他の登録された中止コールバックは再度呼び出されません。 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。

register_shutdown_functionregister_shutdown_function 関数は、スクリプトの実行が完了するか予期せず終了して PHP の実行がシャットダウンされると、関数が呼び出され、error_get_last

と組み合わせて使用​​してエラー情報を取得できます。

register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
呼び出し可能なコールバック関数

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

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の register_shutdown_function 関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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