Maison  >  Article  >  base de données  >  PHP peut-il enregistrer les erreurs directement dans une base de données MySQL ?

PHP peut-il enregistrer les erreurs directement dans une base de données MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-06 08:02:03437parcourir

Can PHP Log Errors Directly to a MySQL Database?

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!

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