15 Ocak 2015, 06:45 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Php Hata Raporlama PHP bildiğiniz üzere serbest kullanım şansı ile günümüzde ki en popüler web programlama dillerinden biridir. Özellikle son versiyonlarıyla beraber gerçek bir programlama dili olmuş ve nesne tabanlı programlama ile modern diller arasında yerini almıştır. Özellikle kolay ve hızlı programlama yeteneğiyle kolay çözüm üretmede faydalıdır. Kolay ve hızlı çözüm dediğimizde ise programı kodlarken karşımıza çıkabilecek hataların derhal tespit edilebilmesi gayet önemlidir. PHP standart kurulumu sonrasında yazılmış olan herhangi bir hatalı kodu derlediğinizde hata bildirimi olmadığından karşınıza bembeyaz bir sayfa çıkacaktır. Bunun üsütnden gelmek için en kolay yol eğer erişiminiz varsa "php.ini" dosyasında bulunan error_reporting = E_ALL satırının başındaki ";" işaretini kaldırmak olacaktır. "php.ini" dosyasına erişiminiz olmasa dahi PHP 4 ve üzerindeki versiyonlarda çalışan "error_reporting()" fonksiyonu işinizi görecektir. Bu fonksiyon parametre olarak tam sayı almaktadır. Bu fonksiyonun aldığı parametreleri aşağıdaki gibidir. E_ERROR[1] : Onulmaz hatalar(fatal error). Bu hatalar, hafıza tahsis hataları gibi dönüşü olmayan hatalardır. Betiğin çalışması durdurulmuştur. E_WARNING[2] : Onulmaz olamayan çalışma zamanı uyarıları. Betiğin çalışması durdurulmaz. E_PARSE[4] : Derleme zamanı kod ayrıştırma hatası. Ayrıştırma hataları sadece ayrıştırıcı (parser) tarafından yaratılır. E_NOTICE[8] : Çalışma zamanı notları. Betik hata olabilecek bir kod öbeğiyle karşılaşmıştır, fakat betik normal çalışma akışına devam eder. E_CORE_ERROR[16] : PHP çekirdeğinin çalışmaya başlaması sırasında oluşan hatalar. E_ERROR dan farkı PHP çekirdeği tarafından yaratılmış olmasıdır. E_CORE_WARNING[32] : PHP çekirdeğinin çalışmaya başlaması sırasında oluşan uyarılar. E_WARNING dan farkı PHP çekirdeği tarafından yaratılmış olmasıdır. E_CORE_ERROR[64] : Onulmaz derleme zamanı hataları. E_ERROR dan farkı Zend Betik Motoru (Zend Scripting Engine) tarafından yaratılmış olmasıdır. E_COMPILE_WARNING[128] : Derleme zamanı uyarıları. E_WARNING dan farkı Zend Betik Motoru (Zend Scripting Engine) tarafından yaratılmış olmasıdır. E_USER_ERROR[256] : Kullanıcı tarafından yaratılan hata mesajları. E_ERROR dan farkı PHP kodu tarafından PHP nin trigger_error() fonksiyonu tarafından yaratılmış olmasıdır. E_USER_WARNING[512] : Kullanıcı tarafından yaratılan uyarı mesajları. E_WARNING den farkı PHP kodu tarafından PHP nin trigger_error() fonksiyonu tarafından yaratılmış olmasıdır. E_USER_NOTICE[1024] : Kullanıcı tarafından yaratılan notlar. E_NOTICE den farkı PHP kodu tarafından PHP nin trigger_error() fonksiyonu tarafından yaratılmış olmasıdır. E_STRICT[2048] : Çalışma zamanı notları. Aktifleştirilmesi sayesinde birlikte işlerlik (interoperability) ve ileri uyumluluk konusunda fayda sağlanabilir. E_RECOVERABLE_ERROR[4096] : Yakalanabilir onulmaz hatalar. Tehlikeli bir hatanın oluştuğunu, fakat PHP çekirdeğini istikrarsız bir konuma düşürmediğini gösterir. Eğer hata programcı tarafından işlenememişse (set_error_handler() fonksiyonu tarafından), betik E_ERROR gibi sonlandırılır. E_RECOVERABLE_ERROR[8191, (PHP 5.2) 6143, (PHP 5.2-) 2047] : Yakalanabilir onulmaz hatalar. Tehlikeli bir hatanın oluştuğunu, fakat PHP çekirdeğini istikrarsız bir konuma düşürmediğini gösterir. Eğer hata programcı tarafından işlenememişse (set_error_handler() fonksiyonu tarafından), betik E_ERROR gibi sonlandırılır. php.net sitesinden aldığımız örnek üzerinde gösterirsek. <?php // Tüm hata raporlamaları kapatılır. error_reporting(0); // Basit çalışma zamanı hatalarını raporlar error_reporting(E_ERROR | E_WARNING | E_PARSE); // E_NOTICE ayrıca ekleniyor (tanımlanamamış değişkenlerin // raporlanmasında kullanılır ...) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // E_NOTICE hataları hariç tüm hataları döndürür // php.ini dosyasındaki standart hata raporu bu konumdadır error_reporting(E_ALL ^ E_NOTICE); // Tüm PHP hata raporlarını geri döndürür error_reporting(E_ALL); // ini_set() fonksiyonu yordamıyla error_reporting(E_ALL); çözümü ini_set('error_reporting', E_ALL); ?> Not : Bu fonksiyon dönüşte daha önceki hata rapor seviyesini geri döndürür.
__________________ | |
|
Etiketler |
hata, php, raporlama |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Raporlama Fonksiyonu | Desmont | Ödev ve Tezler | 0 | 13 Aralık 2014 23:38 |
Spam Raporlama Nasıl Yapılır. | CONSTANTiN | Bilim Dünyasından Son Haberler | 0 | 16 Haziran 2012 15:11 |
Unreal Kurulumu - Hata Hata Hata :@ | fatal | Unreal IRCd | 2 | 20 Şubat 2007 18:46 |