Heim  >  Artikel  >  Datenbank  >  Kann PHP Fehler direkt in einer MySQL-Datenbank protokollieren?

Kann PHP Fehler direkt in einer MySQL-Datenbank protokollieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-06 08:02:03331Durchsuche

Can PHP Log Errors Directly to a MySQL Database?

PHP-Fehler in einer Datenbank statt in error_log protokollieren

Ist es möglich, PHP so zu konfigurieren, dass Fehler direkt in einer MySQL-Datenbank protokolliert werden, statt in der Standard-error_log-Datei? Obwohl die Implementierung eines benutzerdefinierten Fehlerhandlers ein praktikabler Ansatz ist, würde dies erhebliche Codeänderungen erfordern. Gibt es eine globalere Lösung?

Antwort:

Leider ist es nicht möglich, dies zu erreichen, ohne einen benutzerdefinierten Fehlerhandler zu erstellen. Dieser benutzerdefinierte Fehlerhandler würde jedoch effektiv als die gewünschte „eine globale Änderung“ dienen.

Das modifizierte Beispiel aus dem PHP-Handbuch zeigt, wie dies erreicht werden kann:

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;
}

Um die zu aktivieren Benutzerdefinierter Fehlerhandler:

// Assign the custom error handler
$old_error_handler = set_error_handler("myErrorHandler");

Das obige ist der detaillierte Inhalt vonKann PHP Fehler direkt in einer MySQL-Datenbank protokollieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn