Maison  >  Article  >  base de données  >  Comment puis-je enregistrer les erreurs PHP dans une base de données MySQL au lieu du fichier error_log ?

Comment puis-je enregistrer les erreurs PHP dans une base de données MySQL au lieu du fichier error_log ?

DDD
DDDoriginal
2024-11-06 06:35:02909parcourir

How can I log PHP errors to a MySQL database instead of the error_log file?

Sortie des erreurs PHP vers une base de données sans modifier Error_Log

Par défaut, les erreurs PHP sont enregistrées dans le fichier error_log standard. Pour diriger ces erreurs vers une base de données MySQL, envisagez d'utiliser un gestionnaire d'erreurs personnalisé.

Pour implémenter cette solution, créez une fonction de gestionnaire d'erreurs personnalisée qui traite les détails de l'erreur et les écrit dans la base de données. Par exemple :

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    // Establish a database connection or utilize an existing one
    
    // Prepare and execute an SQL query to insert the error details
    mysql_query("INSERT INTO error_log (number, string, file, line) ".
                 "VALUES .....");         
    
    // Prevent execution of the default PHP error handler
    return true;
}

Après cela, vous pouvez définir le gestionnaire d'erreurs défini par l'utilisateur comme gestionnaire d'erreurs global :

// Disable the default error handler
$old_error_handler = set_error_handler("myErrorHandler");

Avec ce gestionnaire d'erreurs personnalisé en place, toutes les erreurs PHP sera dirigé vers la base de données MySQL désignée au lieu du fichier error_log.

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