Php de hata raporlama mekanizması ( error_reporting)

PHP programlama dili ile yazdığınız kodlamada oluşan hataların hangilerinin sitede görüntülenip hangilerinin görüntülenmeyeceği ile alakalı hata raporlama (error_reporting) sistemi bulunmaktadır. Bu sistem sayesinde kodlamanızın sebep olduğu uyarı mesajlarının, hata mesajlarının, bilgi mesajlarından istediklerinizin sadece listelenmesi sağlanacaktır. Oluşabilecek muhtemel hata seviyeleri şu şekildedir:


Sabit Açıklama
E_ERROR Ölümcül çalışma anı hataları. Bellek ayırma sorunu gibi giderilemeyen hatalar bu sınıfa girer. Böyle hatalar betiğin çalışmasının durmasına sebep olur.
E_WARNING Çalışma anı uyarıları (ölümcül olmayan hatalar). Betiğin çalışması durmaz.
E_PARSE Derleme anı çözümleme hataları. Çözümleme hatalarını sadece çözümleyici üretir.
E_NOTICE Çalışma anı bildirimleri. Betikte bir hataya sebep olabilecek fakat betiğin normal çalışmasını esnasında oluşmayabilecek bir şeylerin saptandığını belirtir.
E_ALL Desteklenen (PHP 6'da E_STRICT dışında kalan) tüm hatalar ve uyarılar.

Örneğin tüm hataların sitede görüntülenmesini istiyorsanız, tek yapmanız gereken php kodunuza aşağıdaki kod parçacıgını eklemeniz.
error_reporing(E_ALL);
ini_set('display_errors','1');
Eğer sadece kodunuzun çalışmasına sebep olan hataların görüntülenmesini istiyorsanız, bu durumda sadece aşağıdaki kod parçacığını eklemeniz yeterli olacaktır:
error_reporing(E_ERROR);
ini_set('display_errors','1');
Bu tip kod parçacıklarını direkt php kodunuzda tanımlayabileceğiniz gibi ayrıca serverinizde tanımlayabilirsiniz. Apache kurulu olan serverinizde php.ini dosyasına 
error_reporting = E_ALL
display_errors = On 
satırlarını eklemenizle birlikte tüm projelerinizde bulunan hatalar görüntülenecektir. Burada dikkat edilmesi gereken konu php.ini de yapılan düzenleme sonrası bu serverde çalışan tüm php dosyalarındaki hatalar görüntülenecektir.
comments powered by Disqus