500 Internal Server Error Nedir? Adım Adım Kesin Çözüm
500 Internal Server Error (iç sunucu hatası), sunucunun isteği işlerken beklenmeyen bir sorunla karşılaştığını ama sorunun ne olduğunu ziyaretçiye söylemediğini gösteren genel bir HTTP hata kodudur. Sorun neredeyse her zaman sitenizin kodunda, ayarlarında veya kaynak limitlerindedir. Gerçek nedeni sitenin hata günlüğü (error log) gösterir.
Hatanın iyi yanı şudur: site silinmemiştir ve çoğu durumda çözüm birkaç dakika sürer. Aşağıdaki adımları sırayla uygulayın.
500 hatası neden olur?
| Neden | Tipik işaret | Çözüm |
|---|---|---|
| Bozuk .htaccess dosyası | Tüm sayfalar hata veriyor | Dosyayı yeniden adlandırın |
| Hatalı eklenti veya tema | Güncellemeden hemen sonra başladı | Eklentileri devre dışı bırakın |
| PHP sürüm uyumsuzluğu | PHP sürümü değişti | Uyumlu sürüme dönün |
| Bellek limiti | Günlükte "Allowed memory size exhausted" | memory_limit değerini artırın |
| Dosya izinleri | Günlükte "Permission denied" | Dosya 644, klasör 755 |
| Kod hatası | Günlükte "PHP Fatal error" | Belirtilen dosya ve satırı düzeltin |
Önce bu üç şeyi kontrol edin
- Son değişikliği hatırlayın. Bir eklenti güncellediyseniz, tema değiştirdiyseniz veya dosya yüklediyseniz sorun büyük ihtimalle oradadır.
- Sayfayı gizli pencerede açın. Tarayıcı önbelleğinden kaynaklanan eski hata sayfasını böylece elemiş olursunuz.
- Tüm site mi, tek sayfa mı? Yalnızca bir sayfa hata veriyorsa sorun o sayfadaki kod veya eklentidedir. Tüm site hata veriyorsa genel ayarlara bakın.
Adım 1: Hata günlüğünü okuyun
Tahmin yürütmeden önce yapılacak ilk iş budur. Kontrol panelinde sitenizin hata günlüğünü açın ve en alttaki, yani en yeni satırlara bakın. Sıradaki gibi bir satır, sorunun yerini doğrudan söyler:
PHP Fatal error: Uncaught Error: Call to undefined function
in /wp-content/plugins/ornek-eklenti/ornek.php on line 42
Bu örnekte suçlu ornek-eklenti eklentisidir. Satır bir eklentiyi gösteriyorsa doğrudan 3. adıma geçebilirsiniz. Günlükte kayıt yoksa sonraki adımla devam edin.
Adım 2: .htaccess dosyasını sıfırlayın
Hatalı bir yönlendirme kuralı tüm siteyi 500 hatasına düşürebilir. Dosya Yöneticisi'nde sitenizin ana klasörüne gidin ve .htaccess dosyasının adını .htaccess-eski yapın. Site açılıyorsa sorun bu dosyadadır.
WordPress kullanıyorsanız yönetim panelinde Ayarlar > Kalıcı Bağlantılar sayfasını açıp Kaydet düğmesine basın. WordPress temiz bir dosya oluşturur.
Adım 3: WordPress eklentilerini ve temayı devre dışı bırakın
Yönetim paneline girebiliyorsanız eklentileri tek tek kapatın. Giremiyorsanız Dosya Yöneticisi'nde wp-content/plugins klasörünün adını plugins-kapali yapın. Site açılırsa klasörü eski adına döndürün ve eklenti klasörlerini tek tek yeniden adlandırarak sorunlu olanı bulun.
Eklentiler temiz çıkarsa aynı yöntemi wp-content/themes altındaki aktif temaya uygulayın. WordPress varsayılan temaya döner.
Adım 4: Bellek limitini artırın
Günlükte Allowed memory size of ... bytes exhausted ifadesini görüyorsanız PHP'nin bellek limiti yetmiyordur. Netwec Kontrol Paneli'ndeki PHP Ayarları bölümünden memory_limit değerini yükseltebilirsiniz. Adımlar PHP ayarları makalemizde anlatılıyor.
Sürekli limit artırmak gerekiyorsa asıl neden ağır bir eklenti ya da paketin küçük kalmasıdır. Bu durumda paket seçimi rehberimize göz atın.
Adım 5: PHP sürümünü değiştirin
Eski bir eklenti yeni PHP sürümünde hata verebilir, tersi de geçerlidir. Örneğin PHP 8 ile kaldırılan bir fonksiyon, eski kodda PHP Fatal error üretir. Kontrol panelinden bir önceki PHP sürümüne geçip siteyi deneyin. Düzelirse kalıcı çözüm eski sürümde kalmak değil, eklentiyi güncellemektir.
Adım 6: Dosya izinlerini kontrol edin
Doğru izinler genellikle klasörler için 755, dosyalar için 644 değerleridir. Yanlış izin, sunucunun dosyayı çalıştırmasını engeller. Dosya Yöneticisi'nde izinleri tek tek görebilir ve değiştirebilirsiniz. 777 izni sorunu gizleyebilir ama güvenlik açığı yaratır, kullanmayın.
Laravel ve diğer PHP uygulamalarında 500 hatası
Laravel'de ayrıntılı kayıt storage/logs/laravel.log dosyasındadır. En sık nedenler eksik .env dosyası, boş APP_KEY, yazılamayan storage ve bootstrap/cache klasörleri ile hatalı veritabanı bilgileridir. Özel yazılımlarda üretim ortamında hata gösterimini açmak yerine günlük dosyasını okuyun, aksi hâlde veritabanı bilgileriniz ziyaretçilere görünebilir.
500 hatası ile 502, 503 ve 504 arasındaki fark
- 500: Uygulama isteği işlerken hata aldı. Sorun genellikle kodda veya ayarda.
- 502 Bad Gateway: Önde duran sunucu, arkadaki PHP servisinden geçerli yanıt alamadı.
- 503 Service Unavailable: Sunucu geçici olarak hizmet veremiyor. Kaynak sınırı veya bakım modu olabilir.
- 504 Gateway Timeout: Arkadaki servis zamanında yanıt vermedi. Uzun süren sorgular tipik nedendir.
Hata tekrar etmesin diye
- Canlı sitede güncelleme yapmadan önce yedek alın.
- Kullanmadığınız eklenti ve temaları silin, yalnızca kapatmakla yetinmeyin.
- Eklentileri toplu değil, teker teker güncelleyin. Hata çıkarsa suçluyu hemen bilirsiniz.
- Sitenizi ücretsiz bir çalışma süresi izleme aracına ekleyin. Hatayı müşteriden önce siz öğrenirsiniz.
Çözemediniz mi? Netwec müşterileri 7/24 destek talebi açabilir. Sitenizin adresini ve hatanın başladığı zamanı yazmanız yeterli.
Netwec hosting paketleriSıkça Sorulan Sorular
500 hatası ziyaretçiden mi, sunucudan mı kaynaklanır?
500 hatası sunucu tarafında oluşur. Ziyaretçinin bilgisayarıyla ilgili değildir, sayfayı yenilemek kalıcı çözüm sağlamaz. Sorun sitenin kodunda, ayarlarında veya kaynak limitlerindedir.
500 hatası SEO'yu etkiler mi?
Kısa süreli hatalar sıralamaya zarar vermez. Hata günlerce sürerse Google tarama sıklığını azaltır ve sayfalar dizinden düşebilir. Bu yüzden hatayı hızlı çözmek önemlidir.
Yönetim paneline giremiyorum, ne yapmalıyım?
Kontrol panelindeki Dosya Yöneticisi veya FTP ile wp-content/plugins klasörünün adını değiştirin. Bu işlem tüm eklentileri kapatır ve çoğu durumda yönetim paneline yeniden girmenizi sağlar.
Hosting firması 500 hatasını çözebilir mi?
Sunucu kaynaklı bir sorunsa sağlayıcı çözer. Sorun sitenin kodundaysa destek ekibi genellikle nedeni gösterir, kod düzeltmesi ise site sahibinin veya geliştiricisinin işidir.



