Heim > Datenbank > MySQL-Tutorial > Wie kann ich PHP-Fehler in einer MySQL-Datenbank statt in der Datei „error_log' protokollieren?

Wie kann ich PHP-Fehler in einer MySQL-Datenbank statt in der Datei „error_log' protokollieren?

DDD
Freigeben: 2024-11-06 06:35:02
Original
1001 Leute haben es durchsucht

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

PHP-Fehler in eine Datenbank ausgeben, ohne Error_Log zu ändern

Standardmäßig werden PHP-Fehler in der Standarddatei error_log protokolliert. Um diese Fehler stattdessen an eine MySQL-Datenbank weiterzuleiten, sollten Sie die Verwendung eines benutzerdefinierten Fehlerhandlers in Betracht ziehen.

Um diese Lösung zu implementieren, erstellen Sie eine benutzerdefinierte Fehlerhandlerfunktion, die Fehlerdetails verarbeitet und in die Datenbank schreibt. Zum Beispiel:

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;
}
Nach dem Login kopieren

Anschließend können Sie den benutzerdefinierten Fehlerhandler als globalen Fehlerhandler festlegen:

// Disable the default error handler
$old_error_handler = set_error_handler("myErrorHandler");
Nach dem Login kopieren

Mit diesem benutzerdefinierten Fehlerhandler werden alle PHP-Fehler behoben wird an die angegebene MySQL-Datenbank und nicht an die Datei „error_log“ weitergeleitet.

Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Fehler in einer MySQL-Datenbank statt in der Datei „error_log' protokollieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage