Melog Ralat PHP ke Pangkalan Data Bukannya error_log
Adakah layak untuk mengkonfigurasi PHP untuk log ralat terus ke pangkalan data MySQL dan bukannya fail log_ralat lalai? Walaupun melaksanakan pengendali ralat tersuai adalah pendekatan yang berdaya maju, ini memerlukan pengubahsuaian kod yang ketara. Adakah terdapat penyelesaian yang lebih global?
Jawapan:
Malangnya, perkara ini tidak mungkin dilakukan tanpa membuat pengendali ralat tersuai. Walau bagaimanapun, pengendali ralat tersuai ini berkesan akan berfungsi sebagai "satu perubahan global" yang dikehendaki.
Contoh yang diubah suai daripada manual PHP menunjukkan cara ini boleh dicapai:
function myErrorHandler($errno, $errstr, $errfile, $errline) { // Establish a connection to the MySQL database here mysql_query("INSERT INTO error_log (number, string, file, line) ". "VALUES ....."); /* Suppress PHP internal error handler from executing */ return true; }
Untuk mengaktifkan pengendali ralat tersuai:
// Assign the custom error handler $old_error_handler = set_error_handler("myErrorHandler");
Atas ialah kandungan terperinci Bolehkah PHP Log Ralat Terus ke Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!