Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh log ralat PHP ke pangkalan data MySQL dan bukannya fail error_log?

Bagaimanakah saya boleh log ralat PHP ke pangkalan data MySQL dan bukannya fail error_log?

DDD
DDDasal
2024-11-06 06:35:02911semak imbas

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

Mengoutputkan Ralat PHP ke Pangkalan Data Tanpa Mengubah Suai Error_Log

Secara lalai, ralat PHP dilog masuk ke fail error_log standard. Untuk mengarahkan ralat ini ke pangkalan data MySQL, pertimbangkan untuk menggunakan pengendali ralat tersuai.

Untuk melaksanakan penyelesaian ini, cipta fungsi pengendali ralat tersuai yang memproses butiran ralat dan menulisnya ke pangkalan data. Contohnya:

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

Susulan ini, anda boleh menetapkan pengendali ralat yang ditentukan pengguna sebagai pengendali ralat global:

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

Dengan adanya pengendali ralat tersuai ini, semua ralat PHP akan diarahkan ke pangkalan data MySQL yang ditetapkan dan bukannya fail error_log.

Atas ialah kandungan terperinci Bagaimanakah saya boleh log ralat PHP ke pangkalan data MySQL dan bukannya fail error_log?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn