PHP error_log yapılandırması, VS Code ile Xdebug, adım hata ayıklama, yavaş sorgu tespiti ve 12 production sitede gördüğümüz yaygın hata kalıpları.
Hata Ayiklama Arac Seti
Production'da sabah 2'de bir sey bozuldugunda hizla teshis edip dueltmeniz gerekir. JekCMS için hata ayiklama arac setimizin uc katmani var: istisnalari yakalamak için hata loglari, karmasik mantikta adim adim ilerlemek için Xdebug ve performans darbogazlarini bulmak için profilleme.
PHP Hata Log Yapilandirmasi
JekCMS hata loglamasini ortama gore yapılandırir. Production'da hatalari logla, asla gosterme. Geliştirmede goster ve logla.
JekCMS Log Yapisi
PHP hatalarinin otesinde JekCMS uygulama olaylarini loglar: error, info, warning seviyeleri ve baglam verileriyle.
VS Code ile Xdebug Kurulumu
Xdebug standart PHP hata ayiklama uzantisidir. Kurun, php.ini'yi yapılandırin ve VS Code'u baglayin. Adim hata ayiklama karmasik sorunlar için paha bicilmezdir.
Yavas Sorgu Tespiti
JekCMS'in Database sinifi sorgu yurutme süresini olcer. 500ms'den uzun sorgular otomatik olarak loglanir. Uretim'de optimize edilmemis sorgulari performans yukü olmadan yakalar.
Yaygin Hata Kaliplari
- 500 Dahili Sunucu Hatasi: Genellikle PHP sozdizimi hatasi. Once logs/php-error.log'u kontrol edin.
- Headers Already Sent: header() cagrisindan once HTML ciktisi. POST işlemesini herhangi bir ciktidan once tasiyin.
- CSRF Token Uyusmazligi: Oturum süresi doldu veya tarayıcı geri dugmesi.
- Giristen Sonra Oturum Kaybi: Siteler arasi oturum (site_hash uyusmazligi). SESSION_NAME site başına benzersiz mi kontrol edin.
- Görseller Yuklenmiyor: Dosya izinlerini ve veritabanındaki uploads yolunu kontrol edin.
Production Izleme
Production siteleri için loglari gunluk kontrol ederiz. Son 24 saatte ERROR seviyesinde giriş görüntulerse bize e-posta gonderen basit bir script kullanilir. Her sabah 8'de cron gorevi olarak çalışır.