500 Hatası Nedir?

500 Dahili Sunucu Hatası, sunucuda bir şeylerin ters gittiği ancak sunucunun ne olduğunu daha ayrıntılı söyleyemediği anlamına gelir. Araştırma gerektiren genel bir "bir şey bozuldu" mesajıdır.

İlk Adım: EGPNL → Günlükler → Hata Günlükleri bölümündeki hata kayıtlarını kontrol edin. Oradaki hata mesajı sizi tam nedene götürür.

Yaygın Nedenler ve Çözümler

1. PHP Sözdizimi Hataları

Neden

PHP kodunda eksik noktalı virgül, parantez veya yazım hatası.

Çözüm

Dosya ve satır numarası için hata günlüklerine bakın. Yaygın hatalar: eksik ;, kapatılmamış { veya metin içinde $.

2. PHP Sürüm Uyumsuzluğu

Neden

Kod, mevcut PHP sürümünde bulunmayan özellikleri veya kullanımdan kaldırılmış işlevleri kullanıyor.

Çözüm

Gereken PHP sürümünü kontrol edin. EGPNL'de PHP → PHP Sürümü bölümüne gidip uyumlu bir sürüme geçin.

3. Dosya İzni Sorunları

Neden

PHP dosyalarının izinleri yanlış (fazla kısıtlayıcı veya 777).

Çözüm

Klasörleri 755, dosyaları 644 yapın. 777'yi asla kullanmayın.

# Fix permissions via SSH
find /path/to/site -type d -exec chmod 755 {} \;
find /path/to/site -type f -exec chmod 644 {} \;

4. Eksik PHP Eklentileri

Neden

Uygulama, etkin olmayan bir PHP eklentisine ihtiyaç duyuyor.

Çözüm

EGPNL → PHP → PHP Eklentileri bölümüne gidip gereken eklentiyi etkinleştirin (örneğin mysqli, gd, curl).

5. Bellek Sınırı Aşıldı

Neden

PHP betiği izin verilenden fazla bellek kullanıyor.

Çözüm

Bellek sınırını EGPNL → PHP → PHP Ayarları bölümünden artırın veya kodunuza ekleyin:

// In PHP file
ini_set('memory_limit', '256M');

// Or in php.ini
memory_limit = 256M

6. Bozuk .htaccess (Nginx)

Neden

Bazı uygulamalar .htaccess dosyaları oluşturur, ancak EGPHP bunları desteklemeyen Nginx kullanır.

Çözüm

.htaccess kurallarının Nginx biçimine dönüştürülmesi gerekir. Yapılandırma seçenekleri için EGPNL → Nginx bölümüne bakın.

7. Veritabanı Bağlantısı Başarısız

Neden

Veritabanı bilgileri yanlış veya veritabanı mevcut değil.

Çözüm

Yapılandırma dosyanızdaki veritabanı bilgilerini doğrulayın (WordPress için wp-config.php). Veritabanının EGPNL'de var olduğundan emin olun.

8. Eklenti/Tema Çakışması (WordPress)

Neden

Bir eklenti veya temada hata var ya da bir diğeriyle çakışıyor.

Çözüm

Dosya Yöneticisi ile plugins klasörünün adını plugins_old olarak değiştirin. Site açılıyorsa adı geri alıp eklentileri tek tek etkinleştirerek sorunluyu bulun.

WordPress'e Özgü Çözümler

WordPress Hata Ayıklama Modunu Açın

wp-config.php dosyasını düzenleyip şunları ekleyin/değiştirin:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Ardından hatalar için wp-content/debug.log dosyasına bakın.

WordPress Belleğini Artırın

// Add to wp-config.php
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Bozuk Çekirdek Dosyalarını Sıfırlayın

  1. wordpress.org adresinden temiz bir WordPress indirin
  2. wp-admin ve wp-includes klasörlerini silin (wp-content DEĞİL)
  3. Temiz wp-admin ve wp-includes klasörlerini yükleyin
  4. wp-config.php dosyasını yalnızca bozuksa değiştirin
Önce Yedek Alın! Çekirdek dosyalarda değişiklik yapmadan önce sitenizi mutlaka yedekleyin.

Hata Günlüklerini İnceleme

500 hatalarını teşhis etmede en iyi yardımcınız hata günlükleridir:

  1. EGPNLGünlükler bölümüne gidin
  2. Hata Günlükleri'ni seçin
  3. Son kayıtlara bakın (en yenisi en altta)
  4. Dosya yolunu ve satır numarasını not edin

Yaygın Günlük Mesajları

  • PHP Parse error - PHP dosyasında sözdizimi hatası
  • PHP Fatal error - Çalışmayı durduran kritik hata
  • Allowed memory size exhausted - Bellek sınırına ulaşıldı
  • Call to undefined function - Eksik işlev/eklenti

Hâlâ 500 Hatası mı Alıyorsunuz?

  1. Günlüklerdeki hatayı olduğu gibi kopyalayın
  2. Hatanın ne zaman başladığını not edin (güncellemeden sonra mı? yeni eklenti mi?)
  3. Varsa bir yedekten geri yüklemeyi deneyin
  4. Hata ayrıntılarıyla destekle iletişime geçin