Rumah  >  Artikel  >  pangkalan data  >  Bolehkah Ralat PHP Dilog ke Pangkalan Data MySQL?

Bolehkah Ralat PHP Dilog ke Pangkalan Data MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-11-06 03:56:02746semak imbas

Can PHP Errors Be Logged to a MySQL Database?

Menulis Log Ralat PHP ke Pangkalan Data

Bolehkah ralat PHP dialihkan dari error_log ke pangkalan data MySQL?

Secara lalai , ralat PHP ditulis pada fail error_log. Walaupun mungkin untuk membuat pengendali ralat tersuai, mungkin terdapat kebimbangan tentang mengubah suai kod warisan.

Pendekatan Pengendali Ralat Tersuai

Penyelesaian yang disyorkan ialah membuat ralat tersuai pengendali, yang membenarkan kawalan sepenuhnya ke atas cara ralat dikendalikan. Ini dianggap sebagai perubahan global tunggal, kerana ia menggantikan kelakuan pengelogan ralat lalai.

Berikut ialah contoh pengendali ralat tersuai:

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

Melaksanakan Pengendali Ralat

Untuk melaksanakan pengendali ralat tersuai, gunakan:

$old_error_handler = set_error_handler("myErrorHandler");

Ini menetapkan pengendali ralat kepada fungsi tersuai anda. Kini, ralat PHP akan dilog masuk ke pangkalan data MySQL yang ditentukan.

Ingat bahawa mengubah suai kod warisan mungkin memerlukan pertimbangan yang teliti tentang kemungkinan akibat dan isu keserasian.

Atas ialah kandungan terperinci Bolehkah Ralat PHP Dilog ke Pangkalan Data MySQL?. 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