PHP, FATAL સ્તરની ભૂલોને પકડે છે
સત્તાવાર સંદર્ભ
સત્તાવાર વેબસાઇટ set_error_handler register_shutdown_functionબધી ભૂલોને સંપૂર્ણ રીતે કેવી રીતે પકડી શકાય
set_error_handler નો ઉપયોગ મોટાભાગના ભૂલ પ્રકારોને કેપ્ચર કરવા માટે થઈ શકે છે.જ્યારે FATAL લેવલની ભૂલ આવે છે, કારણ કે PHP સીધી ક્રિયાને સમાપ્ત કરે છે, set_error_handler દ્વારા સેટ કરેલ ક callલબbackક ફંક્શન ટ્રિગર થઈ શકતું નથી. આ સમયે, પ્રોગ્રામ સમાપ્ત કરવા માટે ક weલબbackક ફંક્શન સેટ કરવા માટે અમને રજીસ્ટર_શટડાઉન_ફંક્શનનો ઉપયોગ કરવાની જરૂર છે. તે નોંધવું જોઇએ કે રજીસ્ટર_શૂટડાઉન_ફંક્શન દ્વારા સેટ કરેલ ક callલબbackક પ્રક્રિયા સમાપ્ત થયા પછી ચલાવવામાં આવે છે, પ્રક્રિયામાં કોઈ ભૂલ છે કે કેમ તે ધ્યાનમાં લીધા વિના. તેથી આ ક callલબbackકમાં, આપણે ભૂલ પણ આવી છે કે નહીં તે નિર્ધારિત કરવાની પણ જરૂર છે, અને જો કોઈ ભૂલ આવી છે, તો અમે તેને લ theગમાં રેકોર્ડ કરીશું. વિગતો માટે, કૃપા કરીને નીચેના કોડનો સંદર્ભ લો.
set_error_handler('exception_handler');
register_shutdown_function('shutdown_handler');
function exception_handler($err_no, $err_str, $err_file, $err_line)
{
error_reporting(0);
// save error log
// ...
error_reporting(E_ALL);
}
function shutdown_handler()
{
$error = error_get_last();
if (empty($error)) {
return;
}
error_reporting(0);
// save error log
// ...
error_reporting(E_ALL);
}