PHP-Fehler direkt in der Datenbank protokollieren
Anstatt sich auf die Standarddatei „error_log“ zu verlassen, ist es möglich, PHP so zu konfigurieren, dass alle Fehler in dieser Datei ausgegeben werden eine MySQL-Datenbank?
Lösung
Obwohl es keinen direkten Weg gibt, dies zu erreichen, ohne einen benutzerdefinierten Fehlerhandler zu schreiben, ermöglicht es die Anwendung einer einzigen globalen Änderung. Das Erstellen eines benutzerdefinierten Fehlerhandlers ist der Schlüssel zum Umleiten von Fehlermeldungen in die Datenbank.
Codebeispiel
Unten ist ein modifiziertes Beispiel aus dem PHP-Handbuch:
function myErrorHandler($errno, $errstr, $errfile, $errline) { $connection = ...; // Establish connection with MySQL $query = "INSERT INTO error_log (number, string, file, line) ". "VALUES ($errno, $errstr, $errfile, $errline)"; $result = mysql_query($query, $connection); return true; // Suppress PHP's internal error handling }
So legen Sie den benutzerdefinierten Fehlerhandler fest:
$old_error_handler = set_error_handler("myErrorHandler");
Durch die Implementierung dieses benutzerdefinierten Fehlerhandlers werden alle PHP-Fehler automatisch in der angegebenen MySQL-Datenbank protokolliert, was eine zentralisierte und besser organisierte Bereitstellung ermöglicht Möglichkeit, Fehler zu verwalten.
Das obige ist der detaillierte Inhalt vonKönnen PHP-Fehler direkt in einer MySQL-Datenbank protokolliert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!