IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 15 Ocak 2015, 06:45   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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.

__________________
Bu kez pek bir afili yalnızlık, ağlatan bir kadın kadar düşman. Ağzı bozuk üstelik bırakmıyor acıtmadan.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
hata, php, raporlama


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


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