Menangkap Ralat Maut PHP dengan register_shutdown_function
Dalam PHP, set_error_handler() berguna untuk mengendalikan kebanyakan ralat. Walau bagaimanapun, ia tidak dapat menangkap ralat maut seperti yang disebabkan oleh memanggil fungsi yang tidak wujud. Untuk menangani had ini, kami boleh menggunakan register_shutdown_function.
Menggunakan register_shutdown_function
register_shutdown_function() ialah fungsi yang boleh dipanggil apabila PHP dimatikan. Ia memerlukan fungsi yang ditentukan pengguna sebagai parameter. Fungsi ini kemudiannya boleh menangkap sebarang ralat yang tidak dikendalikan yang berlaku semasa pelaksanaan.
register_shutdown_function("fatal_handler"); function fatal_handler() { $error = error_get_last(); if ($error !== NULL) { // Extract error information $errno = $error["type"]; $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; // Send error details via email using error_mail error_mail(format_error($errno, $errstr, $errfile, $errline)); } }
Fungsi Tambahan
Dalam kod di atas, kami telah mengandaikan kewujudan dua fungsi tambahan : error_mail dan format_error. Begini cara anda boleh mentakrifkannya:
function format_error($errno, $errstr, $errfile, $errline) { $trace = print_r(debug_backtrace(false), true); $content = "..."; // Format the error message as needed return $content; }
function error_mail($content) { // Use Swift Mailer or other mail-sending library to send the error email }
Nota Tambahan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Ralat Maut dalam PHP Menggunakan `register_shutdown_function()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!