PHP ले FATAL स्तर त्रुटिहरू समात्यो
आधिकारिक सन्दर्भ
आधिकारिक वेबसाइट set_error_handler register_shutdown_functionकसरी सबै त्रुटिहरू पूर्ण रूपमा समात्ने
सेट_रररह्यान्डलर अधिकांश त्रुटि प्रकारहरू क्याप्चर गर्न प्रयोग गर्न सकिन्छ। जब एक FATAL स्तर त्रुटि देखा पर्दछ, किनकि PHP ले प्रत्यक्ष रूपमा कार्य समाप्त गर्दछ, set_error_handler द्वारा सेट गरिएको कलब्याक समारोह ट्रिगर गर्न सकिँदैन। यस समयमा, हामीले कार्यक्रम समाप्ति को लागी कलब्याक प्रकार्य सेट गर्न रजिस्टर_शटडाउन_फंक्शन प्रयोग गर्नु पर्छ। यो याद राख्नु पर्छ कि रजिस्टर_शटडाउन_फंक्शनले सेट गरेको कलब्याक कार्यक्रम समाप्त भए पछि कार्यान्वयन हुन्छ, प्रक्रियामा त्यहाँ कुनै त्रुटि छ वा छैन भनि ध्यान दिएन। त्यसैले यो कलब्याकमा, हामीले यो पनि निर्धारण गर्नु पर्छ कि त्रुटि देखापर्यो कि छैन, र यदि त्रुटि भएको छ भने हामी यसलाई लगमा रेकर्ड गर्नेछौं। विवरणको लागि, कृपया तलको कोडमा सन्दर्भ गर्नुहोस्।
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);
}