Drupal - Hata Giderme
Bu bölümde, Drupal sitesinde hata mesajlarını yönetmek için Drupal hata yönetimi hakkında çalışacağız.
Hata İşleme, hataları algılama ve çözümleme sürecidir. Programlama uygulama hataları veya iletilebilir hatalar olabilir.
Aşağıdaki adımlar Drupa'da hata mesajlarının nasıl yönetileceğini açıklamaktadır -
Step 1 - Git Configuration ve tıkla Logging and errors.
Step 2 - Logging and errors Aşağıdaki ekranda gösterildiği gibi sayfa görüntülenecektir.
Önceki ekranda görülen alanların ayrıntıları aşağıdadır -
Error messages to display - Drupal sitesinde görüntülenecek hata mesajlarını belirtir.
None - Bu seçenek herhangi bir hata mesajı göstermez.
Errors and warnings - Bu seçenek yalnızca hatalar ve uyarılarla ilgili mesajları görüntüler.
All messages - Bu seçenek, sitede gösterilecek hatalar, uyarılar vb. Her türlü hata mesajını belirtir.
Database log messages to keep - Veritabanı günlüğünde tutulacak maksimum mesaj sayısını gösterir.
Drupal kullanır _drupal_exception_handler ($exception)Sitedeki hataları işleme işlevi. Bu hatalar bir dene / yakala bloğuna dahil edilmeyecektir. Bir istisna işleyicisi çıktığında komut dosyası işlevi yürütmez.
İçin kod _drupal_exception_handler aşağıdaki gibidir -
function _drupal_exception_handler($exception) {
require_once DRUPAL_ROOT . '/includes/errors.inc';
try {
// display the error message in the log and return the error messages to the user
_drupal_log_error(_drupal_decode_exception($exception), TRUE); } catch (Exception $excp2) {
// Another uncaught exception was thrown while handling the first one.
// If we are displaying errors, then do so with no possibility of
a further uncaught exception being thrown.
if (error_displayable()) {
print '<h1>Additional uncaught exception thrown while handling exception.</h1>';
print '<h2>Original</h2> <p>'. _drupal_render_exception_safe($exception).'</p>'; print '<h2>Additional</h2> <p>'. _drupal_render_exception_safe($excp2).'</p><hr/>';
}
}
}
İşlev, her Drupal talebinde kullanılmalıdır. Bu işlev dosyada 2328 satırında mevcuttur.includes/bootstrap.inc.
İçin iki dize referansı vardır _drupal_exception_handler gibi_drupal_bootstrap_configuration() mevcut bootstrap.inc dosya ve_drupal_get_last_callererrors.inc dosyasında mevcut. Bu dosyaların her ikisi de‘includes’ Klasör.