Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menangkap Ralat Maut PHP Menggunakan `register_shutdown_function()`?
Menangkap Ralat Maut PHP
Set_error_handler() PHP sering gagal apabila cuba menangkap ralat maut (E_ERROR). Ini menjadi sangat bermasalah apabila bekerja dengan panggilan fungsi yang tidak wujud atau kejadian lain yang mencetuskan ralat maut.
Untuk mengatasi pengehadan ini, anda boleh menggunakan register_shutdown_function() PHP untuk versi 5.2 . Coretan kod berikut menunjukkan pelaksanaannya:
register_shutdown_function("fatal_handler"); function fatal_handler() { $errfile = "unknown file"; $errstr = "shutdown"; $errno = E_CORE_ERROR; $errline = 0; $error = error_get_last(); if ($error !== NULL) { $errno = $error["type"]; $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; error_mail(format_error($errno, $errstr, $errfile, $errline)); } }
Untuk melengkapkan penyelesaian, tentukan fungsi error_mail dan format_error. Berikut ialah contoh:
function format_error($errno, $errstr, $errfile, $errline) { // Code to format and display error information goes here }
Pertimbangkan untuk menggunakan Swift Mailer untuk fungsi error_mail.
Untuk rujukan tambahan, terokai sumber berikut:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Ralat Maut PHP Menggunakan `register_shutdown_function()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!