Können PHP-Fehler von error_log in eine MySQL-Datenbank umgeleitet werden?
Standardmäßig , PHP-Fehler werden in die Datei error_log geschrieben. Obwohl es möglich ist, einen benutzerdefinierten Fehlerhandler zu erstellen, bestehen möglicherweise Bedenken hinsichtlich der Änderung von Legacy-Code.
Ansatz für einen benutzerdefinierten Fehlerhandler
Die empfohlene Lösung besteht darin, einen benutzerdefinierten Fehler zu erstellen Handler, der eine vollständige Kontrolle über die Fehlerbehandlung ermöglicht. Dies wird als einzelne globale Änderung betrachtet, da sie das standardmäßige Fehlerprotokollierungsverhalten ersetzt.
Hier ist ein Beispiel für einen benutzerdefinierten Fehlerhandler:
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; }
Implementierung des Fehlerhandlers
Um den benutzerdefinierten Fehlerhandler zu implementieren, verwenden Sie:
$old_error_handler = set_error_handler("myErrorHandler");
Dies legt fest Fehlerhandler für Ihre benutzerdefinierte Funktion hinzufügen. Jetzt werden PHP-Fehler in der angegebenen MySQL-Datenbank protokolliert.
Bedenken Sie, dass die Änderung von Legacy-Code möglicherweise eine sorgfältige Abwägung möglicher Konsequenzen und Kompatibilitätsprobleme erfordert.
Das obige ist der detaillierte Inhalt vonKönnen PHP-Fehler in einer MySQL-Datenbank protokolliert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!