Maison  >  Article  >  base de données  >  Les erreurs PHP peuvent-elles être enregistrées dans une base de données MySQL ?

Les erreurs PHP peuvent-elles être enregistrées dans une base de données MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 03:56:02746parcourir

Can PHP Errors Be Logged to a MySQL Database?

Écriture des journaux d'erreurs PHP dans la base de données

Les erreurs PHP peuvent-elles être redirigées de error_log vers une base de données MySQL ?

Par défaut , les erreurs PHP sont écrites dans le fichier error_log. Bien qu'il soit possible de créer un gestionnaire d'erreurs personnalisé, la modification du code existant peut poser des problèmes.

Approche du gestionnaire d'erreurs personnalisé

La solution recommandée consiste à créer une erreur personnalisée. gestionnaire, qui permet un contrôle complet sur la façon dont les erreurs sont traitées. Ceci est considéré comme un changement global unique, car il remplace le comportement de journalisation des erreurs par défaut.

Voici un exemple de gestionnaire d'erreurs personnalisé :

function myErrorHandler($errno, $errstr, $errfile, $errline) {
    // Import or set up MySQL connection
    mysql_query("INSERT INTO error_log (number, string, file, line) " .
               "VALUES ('$errno', '$errstr', '$errfile', '$errline')");

    // Prevent PHP's internal error handler from running
    return true;
}

Implémentation du gestionnaire d'erreurs

Pour implémenter le gestionnaire d'erreurs personnalisé, utilisez :

$old_error_handler = set_error_handler("myErrorHandler");

Cela définit le gestionnaire d'erreurs sur votre fonction personnalisée. Désormais, les erreurs PHP seront enregistrées dans la base de données MySQL spécifiée.

N'oubliez pas que la modification du code existant peut nécessiter un examen attentif des conséquences potentielles et des problèmes de compatibilité.

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!

Déclaration:
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