PHP იჭერს FATAL დონის შეცდომებს
ოფიციალური მითითება
Ოფიციალური ვებ - გვერდი set_error_handler register_shutdown_functionროგორ მშვენივრად დავიჭიროთ ყველა შეცდომა
set_error_handler შეიძლება გამოყენებულ იქნას შეცდომების ტიპების დასაფიქსირებლად. როდესაც FATAL დონის შეცდომა გვხვდება, რადგან PHP უშუალოდ წყვეტს ოპერაციას, set_error_handler- ის მიერ მითითებული ზარის უკუკავშირის ფუნქცია ვერ გააქტიურდება. ამ დროს, ჩვენ უნდა გამოვიყენოთ Register_shutdown_function პროგრამის შეწყვეტისთვის ზარის დაბრუნების ფუნქციის დასადგენად. უნდა აღინიშნოს, რომ Register_shutdown_function– ით დადგენილი ზარის შესრულება ხორციელდება პროგრამის დასრულების შემდეგ, მიუხედავად იმისა, არის თუ არა შეცდომა პროცესში. ამ გამოხმაურებაში ჩვენ ასევე უნდა დავადგინოთ მოხდა თუ არა შეცდომა და თუ მოხდა შეცდომა, მას ჩავწერთ ჟურნალში. დეტალებისთვის იხილეთ შემდეგ კოდი.
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);
}