Veritabanına tüm PHP hataları Çıkarılması error_log değil

2 Cevap php

Tüm PHP hatalarını standart hatalar.log dosyasına MySQL yerine yazılabilir yapmak mümkündür. Ben sıfırdan kendi hata işleyicisi yazdı eğer bu mümkün olurdu sanırım ama ben bir yerde eski bir sürü kod var ve ideal ben sadece 1 genel bir değişiklik yapmak istiyorum ve o olurdu. Bu yapılabilir mi?

2 Cevap

Ben kendi bir hata işleyicisi bina olmadan yapılabilir sanmıyorum, ama teknik olarak, o aradığınız bir küresel değişimdir.

Modifiye örnek manual:

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
     // you'd have to import or set up the connection here 
     mysql_query("INSERT INTO error_log (number, string, file, line) ".
                 "VALUES .....");         

    /* Don't execute PHP internal error handler */
    return true;
}

o zaman

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

Bu php fonksiyonu set_error_handler aradığınız ne olabilir gibi görünüyor. İlk örnekte, bir veritabanı için hataları yazmak için bazı mysql ekler ekleyebilirsiniz.

http://www.php.net/manual/en/function.set-error-handler.php