Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die PHP-Fehlerbehandlungsfunktion register_shutdown_function

So verwenden Sie die PHP-Fehlerbehandlungsfunktion register_shutdown_function

墨辰丷
墨辰丷Original
2018-05-21 09:25:581780Durchsuche

In diesem Artikel werden hauptsächlich Anwendungsbeispiele der PHP-Fehlerbehandlungsfunktion register_shutdown_function vorgestellt. Freunde, die sie benötigen, können darauf verweisen.

Wenn das Programm online ausgeführt wird und Sie auf einen Fehler stoßen, möchten Sie dies nicht tun Fehlerinformationen im Frontend ausgeben, aber gleichzeitig Entwickler rechtzeitig per E-Mail benachrichtigen, und die Funktion register_shutdown_function kann nützlich sein.

Registrieren Sie eine Funktion, die aufgerufen wird, nachdem die Skriptausführung abgeschlossen ist oder nach exit().

kann register_shutdown_function() mehrmals anrufen, und diese registrierten Rückrufe werden nacheinander in der Reihenfolge aufgerufen, in der sie registriert wurden. Wenn Sie exit() innerhalb einer registrierten Methode aufrufen, wird die gesamte Verarbeitung abgebrochen und andere registrierte Abbruchrückrufe werden nicht erneut aufgerufen.

register_shutdown_function Funktion: Wenn die Ausführung unseres Skripts abgeschlossen ist oder unerwartet abbricht, was dazu führt, dass die PHP-Ausführung beendet wird, wird unsere Funktion aufgerufen und kann in Verbindung mit error_get_last verwendet werden, um Fehlerinformationen abzurufen.

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

aufrufbare Rückruffunktion

Parameter können in zusätzlichen Parametern übergeben werden werden an die Abbruchfunktion

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()

Verwandte Empfehlungen:

Analyse der PHP-Funktion register_shutdown_function

php Der Unterschied zwischen Register_globals-Parameter OFF und ON

Teilen Sie das Verständnis von PHP register_globals value on und off_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PHP-Fehlerbehandlungsfunktion register_shutdown_function. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn