Hatalar ve Günlük Kaydı ile ilgili Yapılandırma Yönergeleri&Name;&Default;&Changeable;&Changelog;error_reportingNULLINI_ALLdisplay_errors"1"INI_ALLdisplay_startup_errors"1"INI_ALL
PHP 8.0.0 öncesinde, öntanımlı değer "0" idi.
log_errors"0"INI_ALLlog_errors_max_len"1024"INI_ALLPHP 8.0.0 ve sonrasında etkisisiz olup PHP 8.1.0 ve sonrasında kaldırılmıştır. ignore_repeated_errors"0"INI_ALLignore_repeated_source"0"INI_ALLreport_memleaks"1"INI_ALLtrack_errors"0"INI_ALLPHP 7.2.0 ve sonrasında kullanımı önerilmemekte olup
PHP 8.0.0'da kullanımdan kaldırılmıştır.html_errors"1"INI_ALLxmlrpc_errors"0"INI_SYSTEMxmlrpc_error_number"0"INI_ALLdocref_root""INI_ALLdocref_ext""INI_ALLsince PHP 4.3.2'den beri kullanılabilmektedir.error_prepend_stringNULLINI_ALLerror_append_stringNULLINI_ALLerror_logNULLINI_ALLerror_log_mode0o644INI_ALLAvailable as of PHP 8.2.0syslog.facility"LOG_USER"INI_SYSTEMPHP 7.3.0 ve sonrasında mevcuttur.syslog.filter"no-ctrl"INI_ALLPHP 7.3.0 ve sonrasında mevcuttur.syslog.ident"php"INI_SYSTEMPHP 7.3.0 ve sonrasında mevcuttur.
&ini.php.constants;
&ini.descriptions.title;
error_reportingint
Hata raporlama seviyesini tanımlar. Bağımsız değişken olarak ya bir bit alanını
ifade eden bir tamsayı ya da isimli sabitler verilebilir. Hata raporlama
seviyeleri ve sabitleri Öntanımlı
Sabitler sayfasında ve &php.ini; içinde açıklanmıştır. Hata
raporlama seviyesini çalışma anında belirtmek için
error_reporting işlevini kullanabilirsiniz. Ayrıca,
display_errors yönergesine de
bakınız.
E_ALL öntanımlıdır.
PHP 8.0.0 öncesinde, öntanımlı değer
E_ALL &
~E_NOTICE &
~E_STRICT &
~E_DEPRECATED idi.
Yani, E_NOTICE,
E_STRICT ve E_DEPRECATED
seviyesinden hatalar gösterilmiyordu.
PHP dışında PHP sabitlerihttpd.conf gibi PHP dışı yerlerde PHP sabitlerini
kullanmak isterseniz, bunların tamsayı değerlerini kullanmak zorunda
kalmak anlamlarını anlamayı zorlaştırdığı için elverişli olmayacaktır.
Zamanla başka hata seviyeleri ekleneceğinden azami değer de
(E_ALL değeri) değişecektir. Bu bakımdan
E_ALL yerine şimdiki ve gelecekteki tüm bit
alanlarını kapsamak üzere 2147483647 gibi büyük bir
değer kullanabilirsiniz (E_ALL'dan başka tüm
hataları da içerir).
display_errorsstring
Hataların çıktının bir parçası olarak ekrana basılıp basılmayacağını
veya bunların kullanıcıdan gizlenip gizlenmeyeceğini belirler.
"stderr" değeri hataları stdout
(standart çıktı) yerine stderr'e (standart hataya)
gönderir.
Bu özellik sizi geliştirme aşamasında desteklemek amacıyla konmuştur ve
kullanıcıya yönelik işlemler için asla kullanılmamalıdır.
Bu yönergeye çalışma anında (ini_set ile) değer
atanabilse de, eğer betik ölümcül bir hataya sahipse bunun herhangi bir
etkisi olmayacaktır. Bunun sebebi çalışma anında istenen eylemin yerine
getirilmeyecek olmasıdır.
display_startup_errorsbooldisplay_errors etkin olsa bile PHP ilk başlatılırken
oluşan hatalar gösterilmez. Hata ayıklamıyorsanız
display_startup_errors yönergesinin
değerini off olarak bırakın.
log_errorsbool
Betiğin hata iletilerinin sunucunun hata günlüğüne veya
error_log ile belirtilen dosyaya
kaydedilip kaydedilmeyeceğini belirler. Bu seçenek sunucuya özgüdür.
Sitenizde hataları kullanıcıya göstermek yerine hata günlüklerine
kaydetmenizi hararetle tavsiye ederiz.
log_errors_max_lenint
Hata günlüğü iletilerinin azami uzunluğunu bayt cinsinden belirlemek
için kullanılır. Kaynak hakkındaki
error_log bilgisi buna eklenir.
1024 öntanımlı değer olup, 0 belirtildiği takdirde hata günlüğü
iletilerininin uzunlukları sınırlanmaz. Bu uzunluk günlüğe kaydedilen
ve gösterilen hata iletilerinden başka $php_errormsg
iletilerine de uygulanır fakat error_log gibi açıkça
çağrılan işlevlerde uygulanmaz.
&ini.shorthandbytes;
ignore_repeated_errorsbool
Yinelenen hata iletileri günlüğe kaydedilmez.
ignore_repeated_source
yönergesinin değeri true olmadıkça yinelenen
hataların aynı dosyanın aynı satırında oluşması gerekir.
ignore_repeated_sourcebool
Yinelenen iletiler yok sayılırken ileti kaynağının da yoksayılmasını
sağlar. Bu yönergenin değeri On olduğu takdirde,
farklı dosyalardan veya farklı satırlardan kaynaklanan yinelenmiş
iletileri hata günlüklerine kaydedemezsiniz.
report_memleaksbool
Bu yönergenin değeri Off olduğu takdirde, bellek
sızıntıları (stdout'ta veya günlük dosyasında)
gösterilmez. Bu sadece, hata ayıklama derlemesinde ve
error_reporting yönergesinde
E_WARNING listeye dahil edilmişse etkilidir.
track_errorsbool
Bu yönergenin değeri On olduğu takdirde, son hata
iletisi daima $php_errormsg değişkenine atanır.
html_errorsbool
Hata iletilerine HTML etiketleri dahil edilmez. Yeni HTML hataları
biçeminde, doğrudan kullanıcıyı hatayı veya hataya sebep olan işlemi
açıklayan bir sayfaya yönlendiren tıklanabilir hatalar üretilir. Bu
gönderimler docref_root ve
docref_ext yönergelerinden
etkilenir.
xmlrpc_errorsbool
Normal hata raporlaması kapatılıp, hatalar XML-RPC hata iletileri olarak
biçemlenir.
xmlrpc_error_numberint
XML-RPC hata dizisinin faultCode elemanının değeri
olarak bu değer kullanılır (bkz. xmlrpc_is_fault).
docref_rootstring
Yeni hata biçemi, hatayı veya hataya sebep olan işlemi
açıklayan bir sayfaya bir gönderim içerir. Bu gönderimin bir kılavuz
sayfasına yönlendirmesi durumunda, kılavuzun dilinizdeki çevirisini
indirebilir ve bu yerel kopyanın bulunduğu yeri bu yönergede
belirtebilirsiniz. Örneğin, kılavuzun yerel kopyasına
"/manual/" ile erişilebiliyorsa bunu
docref_root=/manual/ şeklinde belirtebilirsiniz.
Buna ek olarak, kopyanızın dosya uzantısını
docref_ext yönergesinde belirtebilirsiniz (örnek:
docref_ext=.html). Harici kaynaklara gönderimler
de mümkündür. Örnekler:
docref_root=http://manual/en/ veya
docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon
&url=http%3A%2F%2Fwww.php.net%2F"
Bazı durumlarda docref_root değerinin sonuna bir bölü
çizgisi "/" eklemeniz gerekebilir. Fakat yukarıdaki
ikinci örnekteki gibi bir durumda buna asla gerek yoktur.
Bu özellik, bir işlevin açıklamasına bakmayı kolaylaştırması nedeniyle
daha ziyade geliştirme aşamasında kullanmanız için tasarlanmıştır.
Hataları son kullanıcıya göstermek amacıyla kullanılmamalıdır.
docref_extstring
docref_root yönergesine bakınız.
docref_ext değeri bir nokta "."
ile başlamalıdır.
error_prepend_stringstring
Hata iletisinden önce çıktılanacak dizge.
Sadece hata iletisi ekranda gösterilecekse kullanılır. Asıl amaç hata
iletisinin önüne HTML kodu ekleyebilmeyi mümkün kılmaktır.
error_append_stringstring
Bir hata iletisinden sonra çıktılanacak dizge.
Sadece hata iletisi ekranda gösterilecekse kullanılır. Asıl amaç hata
iletisinin ardına HTML kodu ekleyebilmeyi mümkün kılmaktır.
error_logstring
Hataların kaydedileceği dosyanın adı. Dosya, HTTP sunucunun kullanıcısı
tarafından yazılabilir olmalıdır. Eğer syslog özel
değeri kullanılmışsa hatalar bir dosya yerine sistemin hata günlüğüne
gönderilir (Unix'te syslog(3), Windows NT'de olay günlüğü). Windows
95'te sistem günlükçüsü desteği yoktur. Ayrıca,
syslog işlevine de bakınız. Yönerge tanımsız
bırakılmışsa hatalar SAPI hata günlükçüsüne gönderilir. Örneğin bu,
Apache'nin hata günlüğü veya CLI için stderr olabilir.
error_log_modeint
error_log yönergesine atanan dosya
için dosya kipi.
syslog.facilitystring
İletiyi ne tür bir uygulamanın günlüklediğini belirtir.
Sadece "syslog" içinde error_log
etkinse etkilidir.
syslog.filterstring
Günlüklenen iletileri süzecek süzgeçleri belirler.
İzin verilen karakterler değiştirilmeden yazılır.
Diğerleri \x ile öncelenen onaltılık karşılıkları
ile belirtilir.
all – Günlüklenen ileti satır sonu
karakterinden bölünür ve tüm karakterler değiştirilmeden aktarılır.
no-ctrl – Günlüklenen ileti satır sonu
karakterinden bölünür ve basılamayan 7 bitlik ASCII karakterler
öncelenir.
ascii – Günlüklenen ileti satır sonu
karakterinden bölünür ve basılamayan karakterler öncelenir.
raw – Tüm karakterler değiştirilmeden ve
iletiler satır sonu karakterleri ile bölünmeden sistem günlükleyicisine
aktarılır (PHP 7.3 öncesindeki gibi).
Bu ayarlar error_log ini
yönergesine "syslog" atandıktan sonra yapılan syslog
çağrıları ile etkisini gösterir.
raw süzgeç türü PHP 7.3.8 ve PHP 7.4.0 üstü
sürümlerle kullanılabilir.
Bu yönerge Windows üzerinde desteklenmez.
syslog.identstring
Specifies the ident string which is prepended to every message.
Only effective if error_log is set to "syslog".