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!