PHP Hata Giriş
Hata fonksiyonları hata işleme ve günlük başa kullanılır.
Hata fonksiyonları bize hataları kaydedilebilir yolu kendi hata işleme kurallarını tanımlamak ve değiştirmek için izin verir.
günlük işlevleri bizi diğer makinelerden, e-postalar veya sistem günlükleri doğrudan mesaj göndermek için izin verir.
Hata raporlama fonksiyonları bize verilen hangi seviyede ve hata geribildirim tür özelleştirebilirsiniz.
Kurulum
PHP hatası fonksiyonları PHP çekirdeğinin bir parçasıdır. Kurulum bu işlevleri kullanmak için gereklidir.
Süre Yapılandırması
Hata işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.
Hatalar ve günlüğü yapılandırma seçenekleri:
isim | Varsayılan | Açıklama | değiştirilebilir |
---|---|---|---|
error_reporting | BOŞ | (Bir tamsayı ya da adlandırılmış sabitleri olarak) hata raporlama seviyesini ayarlar | PHP_INI_ALL |
display_errors | "1" | Kullanıcıdan gizli olmalıdır eğer hatalar ekrana basılı veya gerekip gerekmediğini belirtir. Not: Bu özellik üretim sistemleri üzerinde asla kullanılmamalıdır (sadece sizin gelişimini desteklemek için) | PHP_INI_ALL |
display_startup_errors | "0" | display_errors etkin olsa bile PHP en başlatılırken oluşan hatalar gösterilmez Not: Hata ayıklamıyorsanız display_startup_errors uzak tutmak için tavsiye edilir | PHP_INI_ALL |
log_errors | "0" | komut dosyası hata iletileri sunucunun hata günlüğüne veya error_log kaydedilir gerekip gerekmediğini tanımlar. Not: önemle üretim web sitelerinde göstererek hata yerine hata günlüğünü kullanılması tavsiye edilir | PHP_INI_ALL |
log_errors_max_len | "1024" | bayt Hata günlüğü iletilerinin azami uzunluğunu belirler. Değeri "0" hiç bir maksimum uzunluk uygulanmaz için kullanılabilir. Bu uzunluk günlüğe hatalar uygulanır, hataları görüntülenir ve ayrıca $ php_errormsg için (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_errors | "0" | Tekrarlanan hata iletileri günlüğe belirtir. Ayarlandığında "1" aynı hat üzerinde aynı dosyadan tekrarlanan hataları ile hata günlüklerine (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_source | "0" | Tekrarlanan hata iletileri günlüğe belirtir. Ayarlandığında "1" o dosyaları veya kaynak hatları farklı gelen tekrarlanan hataları ile hata günlüklerine (available since PHP 4.3) | PHP_INI_ALL |
report_memleaks | "1" | Olarak ayarlanırsa "1" (the default) , bu parametre Zend hafıza yöneticisi tarafından algılanan bellek sızıntıları bir rapor gösterecektir (available since PHP 4.3) | PHP_INI_ALL |
track_errors | "0" | Olarak ayarlanırsa "1" , son hata iletisi daima değişken $ php_errormsg mevcut olacak | PHP_INI_ALL |
html_errors | "1" | Hata mesajlarında HTML etiketlerini kapatır | PHP_INI_ALL PHP'de php_ini_system <= 4.2.3. |
xmlrpc_errors | "0" | Normal hata raporlaması biçimleri XML-RPC hata mesajı olarak hataları kapatır (available since PHP 4.1) | php_ini_system |
xmlrpc_error_number | "0" | XML-RPC faultCode elemanının değeri olarak kullanılır (available since PHP 4.1) | PHP_INI_ALL |
docref_root | "" | (PHP 4.3 beri) | PHP_INI_ALL |
docref_ext | "" | (PHP 4.3.2 beri) | PHP_INI_ALL |
error_prepend_string | BOŞ | bir hata mesajı önce çıkışa bir dize belirtir | PHP_INI_ALL |
error_append_string | BOŞ | bir hata mesajı sonrasında çıkışa bir dize belirtir | PHP_INI_ALL |
error_log | BOŞ | Hataların kaydedileceği gereken dosyanın adını belirtir. Dosya HTTP sunucunun kullanıcısı tarafından yazılabilir olmalıdır. syslog özel değeri kullanılırsa, hatalar yerine sistem günlüğüne gönderilir | PHP_INI_ALL |
PHP Hata ve Günlük İşlevleri
fonksiyon | Açıklama |
---|---|
debug_backtrace() | Geri izleme üretir |
debug_print_backtrace() | Geri izleme yazdırır |
error_get_last() | oluşan son hatayı döndürür |
error_log() | bir dosyaya, bir günlüğüne bir hata iletisi gönderir veya posta hesabına |
error_reporting() | hatalar bildirilir belirtir |
restore_error_handler() | Bir önceki hata eylemcisini devreye sokar |
restore_exception_handler() | Bir önceki istisna eylemcisini devreye sokar |
set_error_handler() | Kullanıcı tanımlı bir hata eylemcisini belirler |
set_exception_handler() | Kullanıcı tanımlı bir istisna eylemcisini belirler |
trigger_error() | Bir kullanıcı düzeyinde hata mesajı oluşturur |
user_error() | Takma trigger_error() |
PHP 5 Önceden tanımlı Hata ve Günlük Sabitler
değer | sabit | Açıklama |
---|---|---|
1 | E_ERROR | Ölümcül çalışma zamanı hataları. elde edilemez hatalar. script Yürütme durdurulur |
2 | E_WARNING | Çalışma zamanı uyarıları (non-fatal errors) . script Yürütme durduruldu edilmez |
4 | E_PARSE | Derleme zamanı hataları ayrıştırmak. hatalar sadece çözümleyici tarafından üretilen edilmelidir ayrıştırmak |
8 | E_NOTICE | Çalışma zamanı fark eder. senaryo bir hata olabilir bir şey buldum ama normalde bir komut dosyası çalıştırılırken da olabilirdi |
16 | E_CORE_ERROR | PHP başlangıçta ölümcül hatalar. PHP çekirdeği ile üretilmesi dışında, E_ERROR gibidir |
32 | E_CORE_WARNING | PHP başlangıçta olmayan ölümcül hatalar. PHP çekirdeği ile üretilmesi dışında, E_WARNING gibidir |
64 | E_COMPILE_ERROR | Ölümcül derleme zamanı hataları. Zend betik motoru tarafından tarafından üretilmesi dışında, E_ERROR gibidir |
128 | E_COMPILE_WARNING | Ölümcül olmayan derleme zamanı hataları. Zend betik motoru tarafından tarafından üretilmesi dışında, E_WARNING gibidir |
256 | E_USER_ERROR | Ölümcül kullanıcı tarafından oluşturulan hata. PHP işlevi tarafından PHP kodunda üretilmesi dışında, E_ERROR gibidir trigger_error() |
512 | E_USER_WARNING | Ölümcül olmayan kullanıcılar tarafından oluşturulan uyarı. PHP işlevi tarafından PHP kodunda üretilmesi dışında, E_WARNING gibidir trigger_error() |
1024 | E_USER_NOTICE | haber Kullanıcı tarafından oluşturulan. PHP işlevi tarafından PHP kodunda üretilmesi dışında, E_NOTICE gibidir trigger_error() |
2048 | E_STRICT | (PHP 5'ten beri ama PHP 5.4 kadar E_ALL dahil değildir) PHP kodunuzun iyi çalışabilirliği ve ileriye dönük uyumluluğunu kodunuzda değişiklik önermek için etkinleştirme |
4096 | E_RECOVERABLE_ERROR | Yakalanabilir ölümcül hatası. Bir muhtemelen tehlikeli hata oluştu, ancak kararsız durumda bırakmadığını gösterir. Hata, kullanıcı tanımlı kolu tarafından yakalandı değilse, uygulama betik E_ERROR olarak iptal (Since PHP 5.2) |
8192 | E_DEPRECATED | Çalışma zamanı fark eder. Gelecekteki sürümlerinde çalışmaz koduyla ilgili uyarıları almak için bu etkinleştirme (Since PHP 5.3) |
16384 | E_USER_DEPRECATED | Kullanıcı tarafından oluşturulan uyarı mesajı. PHP işlevi tarafından PHP kodunda üretilmesi dışında, E_DEPRECATED gibidir trigger_error() (PHP 5.3 yana) |
32767 | E_ALL | Tüm PHP hataları ve uyarıları etkinleştirme (except E_STRICT in versions < 5.4) |