PHP FATAL ਪੱਧਰ ਦੀਆਂ ਗਲਤੀਆਂ ਫੜਦਾ ਹੈ
ਅਧਿਕਾਰਤ ਹਵਾਲਾ
ਅਧਿਕਾਰਤ ਵੈਬਸਾਈਟ set_error_handler register_shutdown_functionਸਾਰੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫੜਨਾ ਹੈ
set_error_handler ਨੂੰ ਜ਼ਿਆਦਾਤਰ ਗਲਤੀ ਕਿਸਮਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਜਦੋਂ ਇੱਕ FATAL ਪੱਧਰ ਦੀ ਗਲਤੀ ਆਉਂਦੀ ਹੈ, ਕਿਉਂਕਿ PHP ਸਿੱਧੇ ਤੌਰ ਤੇ ਕਾਰਵਾਈ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ, ਤਾਂ set_error_handler ਦੁਆਰਾ ਸੈੱਟ ਕੀਤੀ ਗਈ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਟਰਿੱਗਰ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ. ਇਸ ਸਮੇਂ, ਸਾਨੂੰ ਪ੍ਰੋਗਰਾਮ ਬੰਦ ਕਰਨ ਲਈ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਸੈਟ ਕਰਨ ਲਈ ਰਜਿਸਟਰ_ਸ਼ੱਟਡਾdownਨ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਇਹ ਨੋਟ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਰਜਿਸਟਰ_ਸ਼ੱਟਡਾ_ਨਫੰਕਸ਼ਨ ਦੁਆਰਾ ਸੈੱਟ ਕੀਤੀ ਗਈ ਕਾਲਬੈਕ ਪ੍ਰੋਗਰਾਮ ਦੇ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਪ੍ਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਕਿ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਹੈ. ਇਸ ਲਈ ਇਸ ਕਾਲਬੈਕ ਵਿਚ, ਸਾਨੂੰ ਇਹ ਵੀ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਕਿ ਕੋਈ ਗਲਤੀ ਆਈ ਹੈ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਜੇ ਕੋਈ ਗਲਤੀ ਹੋਈ ਹੈ, ਤਾਂ ਅਸੀਂ ਇਸਨੂੰ ਲੌਗ ਵਿਚ ਰਿਕਾਰਡ ਕਰਾਂਗੇ. ਵੇਰਵਿਆਂ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਵੇਖੋ.
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);
}