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.