Explication détaillée de l'utilisation de la fonction php register_shutdown_function

怪我咯
Libérer: 2023-03-12 14:12:01
original
1518 Les gens l'ont consulté

Cet article présente principalement PHPGestion des erreursExemples d'utilisation de la fonction register_shutdown_function, les amis qui en ont besoin peuvent s'y référer

Lorsque le programme s'exécute en ligne, si vous rencontrez un BUG, ​​​​n'y pensez pas dès le début. Affichez message d'erreur et informez les développeurs par e-mail en temps opportun. La fonction register_shutdown_function peut s'avérer utile.

Enregistrez une fonction qui sera appelée une fois l'exécution du script terminée ou après exit().

peut appeler register_shutdown_function() plusieurs fois, et ces rappels enregistrés seront appelés dans l'ordre dans l'ordre dans lequel ils ont été enregistrés. Si vous appelez exit() dans une méthode enregistrée, tous les traitements seront abandonnés et les autres rappels d'abandon enregistrés ne seront plus appelés.

register_shutdown_function fonction, lorsque l'exécution de notre script est terminée ou s'arrête de manière inattendue, provoquant l'arrêt de l'exécution de PHP, notre fonction sera appelée et pourra être utilisée en conjonction avec error_get_last pour obtenir les informations d’erreur.

register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
Copier après la connexion

fonction de rappel appelable

paramètre Vous pouvez transmettre des paramètres à la fonction d'abandon en transmettant des paramètres supplémentaires

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);
  }
}
Copier après la connexion

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
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal