error_reporting(E_ALL);
ve ini_set('display_errors', 1);
satırları, PHP geliştirme ortamında hata ayıklama (debug) işlemleri için kullanılan en yaygın kodlardandır. Bu iki satır, çalıştırıldıkları PHP betiğinde oluşabilecek tüm hata, uyarı ve bildirimlerin tarayıcıda görünmesini sağlar.
Kullanımı:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Açıklamalar:
-
error_reporting(E_ALL);
: PHP'nin tüm hata türlerini (uyarılar, bildirimler, fatal hatalar dahil) göstermesini sağlar. -
ini_set('display_errors', 1);
: PHP'nin bu hataları ekranda (tarayıcıda) göstermesini etkinleştirir. Eğer bu değer0
olursa hatalar arka planda loglanır ama tarayıcıya yansımaz.
Ne Zaman Kullanılır?
-
Geliştirme ortamında, özellikle kod test edilirken
-
Fonksiyon ya da yapılandırma hatalarının hızlı tespiti gerektiğinde
-
Session, include, database hatalarında detay görmek amacıyla
Ne Zaman Kullanılmamalı?
-
Canlı (production) sitelerde asla kullanılmamalıdır. Çünkü kullanıcıya hatalar gösterilir, bu hem güvenlik açığına hem kullanıcı deneyimi sorunlarına neden olur.
Canlı Sunucuda Alternatif Yaklaşım:
ini_set('log_errors', 1);
ini_set('error_log', '/home/kullanici/public_html/php-error.log');
error_reporting(E_ALL);
Bu yapı ile hatalar kullanıcıya gösterilmez ama özel bir dosyaya loglanır.
.htaccess Üzerinden Etkinleştirme:
php_flag display_errors On
php_value error_reporting E_ALL
Bu yapı Apache sunucularda .htaccess
dosyasından doğrudan ayarlama yapılmasını sağlar.
WordPress Örneği:
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);
WordPress projelerinde PHP hatalarını göstermek için wp-config.php
dosyasında bu yapı kullanılır.
Bu hata raporlama yöntemi sayesinde, PHP geliştirme sürecinde kod hataları daha kolay tespit edilir ve giderilir. Özellikle kodlama aşamasında bu ayarların aktif olması önerilir, ancak canlı sitelerde devre dışı bırakılması zorunludur.