Enregistrement des erreurs PHP dans une base de données au lieu de error_log
Est-il possible de configurer PHP pour enregistrer les erreurs directement dans une base de données MySQL plutôt que dans fichier error_log par défaut ? Bien que l’implémentation d’un gestionnaire d’erreurs personnalisé soit une approche viable, cela nécessiterait des modifications importantes du code. Existe-t-il une solution plus globale ?
Réponse :
Malheureusement, il n'est pas possible d'accomplir cela sans créer un gestionnaire d'erreurs personnalisé. Cependant, ce gestionnaire d'erreurs personnalisé servirait effectivement de « changement global » souhaité.
L'exemple modifié du manuel PHP montre comment cela peut être réalisé :
function myErrorHandler($errno, $errstr, $errfile, $errline) { // Establish a connection to the MySQL database here mysql_query("INSERT INTO error_log (number, string, file, line) ". "VALUES ....."); /* Suppress PHP internal error handler from executing */ return true; }
Pour activer le gestionnaire d'erreurs personnalisé :
// Assign the custom error handler $old_error_handler = set_error_handler("myErrorHandler");
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!