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
DDDOriginal
2024-11-06 06:35:021002Durchsuche

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

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

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

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!

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