500 Hatası Nasıl Çözülür: Web Sunucusu Hatalarının Nedenleri ve Çözüm Adımları
500 hatası web sunucusunun request'i işleyemediğini gösterir ve PHP kodunda hata, veri tabanı bağlantısı kopması ya da dosya izin sorunundan çıkar.

TLDR: 500 hatası web sunucusunun request'i işleyememesi anlamına gelir. Tarayıcı belleğini temizleyin, önbelleği silin, sayfayı yenileyin. Hata devam ederse, hosting sağlayıcının hata günlüğünü kontrol etmek veya WordPress/CMS eklentilerini devre dışı bırakmak gerekir. Teknisyen gerekliyse hosting desteğini arayın.
İçindekiler ›
500 Hatası Ne Anlama Gelir?
500 Internal Server Error (İç Sunucu Hatası), web sunucusunun tarayıcıdan gelen isteği işlemesi sırasında bir problem yaşadığını gösterir. Tarayıcı ve sunucu arasındaki iletişim açık olmasına rağmen sunucu talep edilen sayfayı döndüremez. Bu, yazılım, yapılandırma veya donanım kaynaklı olabilir.
Neden Oluşur?
- PHP kod hatası: Sunucu tarafında çalışan PHP betiğinin sözdizimsel veya mantıksal hatası
- Veri tabanı bağlantı sorunu: WordPress, Drupal gibi sistemlerde veritabanıyla bağlantı kurulamıyor
- Dosya ve klasör izin hatası (Permission): PHP dosyalarının yanlış izinleri (644, 755 olması gereken değerler)
- Yetersiz bellek (Memory Limit): Sunucu PHP betiğinin tahsisli belleğini aştığını algılar
- Eklenti veya tema çakışması: WordPress'te etkin eklenti kodlarında hata veya tema uyumsuzluğu
- htaccess dosya hatası: .htaccess kurallarının yanlış yazılması Apache yapılandırması kırar
- Sunucu aşırı yüklenmesi: Hosting sunucusunun kapasitesi aşılması (DDoS saldırısı, çok fazla ziyaretçi)
- Zaman aşımı (Timeout): Veritabanı sorgusu veya harici API'ye bağlantı çok uzun sürüyor
Çözüm Adımları
NOT: İlk üç adım tarayıcı ve işletim sistemi seviyesinde olup hiç risk taşımaz. Dördüncü adımdan sonraki işlemler hosting dosyalarına erişim gerektirir.
- Tarayıcı belleğini ve önbelleği temizleyin
Hata bazen eski veriler nedeniyle gösterilir. Keyboard kısayolu: Windows ve Linux'ta Ctrl+Shift+Delete, Mac'te Cmd+Shift+Delete tuşlarına basın. Açılan pencerede "Tümünü Temizle" veya "Clear All" seçeneğini tıklayın, zaman aralığını "Tüm zamanlar" (All time) yapın ve onaylayın. Tarayıcıyı tamamen kapatıp açın.
- Sayfayı zor yenileme yaparak açın
Basit yenileme (F5) yerine zor yenileme yapın. Windows/Linux: Ctrl+Shift+R, Mac: Cmd+Shift+R. Bu, tarayıcı önbelleğini devre dışı bırakarak sunucudan yeni dosyaları indirir. 10-15 saniye bekleyin, hata kaybolup kaybolmadığını kontrol edin.
- Farklı tarayıcıda deneyin
Chrome, Firefox, Edge veya Safari'de sayfaya erişmeyi deneyin. Eğer sadece bir tarayıcıda hata çıkıyorsa, sorun tarayıcı uzantıları veya ayarlarında olabilir. Sorun diğer tarayıcılarda da görülüyorsa, sunucu tarafında bir arıza vardır.
- WordPress'te eklentileri devre dışı bırakın (WordPress kullanıyorsanız)
Hosting panel (cPanel, Plesk vb.) açın, File Manager'a gidin. public_html klasöründe wp-content klasörünü bulun. İçinde plugins klasörü vardır. Bu klasörün adını plugins-old olarak değiştirin. Sayfayı yenileyin. Hata kayboluyorsa, bir eklenti soruna neden olmaktadır. Klasörün adını tekrar plugins olarak değiştirin, sonra her eklentiyi tek tek devre dışı bırakmaya başlayın.
- Hata günlüğünü kontrol edin (Debug Mode)
WordPress kullananlar için: File Manager'da public_html > wp-config.php dosyasını açın (Edit'i seçin). Aşağıdaki satırları bulun:
define('WP_DEBUG', false);
Bunu şu şekilde değiştirin:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);Dosyayı kaydedin. Sayfayı tekrar açın. Sonra public_html > wp-content > debug.log dosyasını kontrol edin. Bu dosya hatasının tam nedenini gösterir (örn: "Fatal error in plugin X", "MySQL connection failed" vb.). Hata detayını bulunca, o eklentiyi yükseltin ya da devre dışı bırakın.
- PHP bellek limitini artırın
File Manager'da public_html > wp-config.php dosyasını açın. Dosyanın en başına şu satırı ekleyin:
define('WP_MEMORY_LIMIT', '256M');
Dosyayı kaydedin. Sayfayı yenileyin. Eğer bellek limitinden kaynaklanıyorsa, hata giderilir.
- .htaccess dosyasını sıfırlayın (Apache sunucusu)
File Manager'da public_html klasörüne gidin. .htaccess dosyasını bulun (gizli dosya olabilir, "Show Hidden Files"i etkinleştirin). Bu dosyayı silin veya yeniden adlandırın (.htaccess-backup). WordPress'te yönetim paneline girin, Ayarlar > Kalıcı Bağlantılar > Değişiklikleri Kaydet'e tıklayın. WordPress otomatik olarak yeni bir .htaccess oluşturacaktır.
- Dosya ve klasör izinlerini kontrol edin
File Manager'da public_html klasörüne sağ tıklayın, "Change Permissions"i seçin. Klasör izni 755, dosya izni 644 olmalıdır. "Recursive" seçeneğini işaretleyin. Değişiklikleri uygulayın. Sayfayı yenileyin.
- Veri tabanı bağlantısını kontrol edin (WordPress)
File Manager'da public_html > wp-config.php dosyasını açın. Bu satırları bulun:
define('DB_NAME', 'veritabani_adi');
define('DB_USER', 'kullanici_adi');
define('DB_PASSWORD', 'sifre');
define('DB_HOST', 'localhost');Özellikle DB_HOST değeri yanlış olabilir. Hosting sağlayıcısından doğru değerleri öğrenin (bazı hostinglerde 'localhost' yerine 'sunucu_adresi.com' gerekir). Doğru değerleri girin ve dosyayı kaydedin.
- PHP versiyonunu değiştirerek deneyin
Hosting panel açın, "PHP seçeneği" veya "MultiPHP Manager" bölümüne gidin. Domains listesinde sitenizi bulun. PHP versiyonunu (7.4, 8.0, 8.1 vb.) değiştirin. Siteyle uyumsuz eklenti ya da kod varsa, bir üst veya alt PHP sürümü sorunu çözebilir. Değişikliğinden sonra sayfayı açın.
Teknisyen Ne Zaman Gerekir?
Yukarıdaki adımları tamamladıktan sonra hata devam ediyorsa: Sunucu tarafında donanım hatası, DDoS saldırısı, veri tabanı bozulması veya sunucu yazılımında ciddi sorun vardır. Hosting sağlayıcısının teknik destek ekibini arayın. Ticket açarken hata günlüğünün (debug.log) içeriğini ve 4-5 numaralı adımdan sonraki hata mesajlarını gönderin.
Önleyici İpuçları
- Eklentileri güncel tutun: WordPress yönetim panelinden tüm eklenti ve tema güncellemelerini düzenli olarak yapın. Güncellenmemiş eklentiler PHP sürümüyle uyumsuzlaşabilir.
- Düzenli yedek alın: Her hafta site dosyalarının ve veritabanının yedek kopyasını indirin. Sunucu hatası durumunda hızlı kurtarma yapabilirsiniz.
- Gereksiz eklenti kurmayın: Her eklenti sunucuda yük oluşturur. Sadece kullanacağınız eklentileri tutun.
- Sunucu kaynaklarını izleyin: Hosting panelinde CPU, RAM ve veri tabanı kullanımını kontrol edin. Eğer %90 üzerindeyse, hosting planını yükseltin.
- PHP bellek limitini makul tutun: 256MB ideal değerdir. Daha yüksek ayarlamak sunucuyu aşırı yükleyebilir.
500 hatası 5 dakika sonra kendiliğinden mi geçer?+
WordPress debug.log dosyası boş veya yok ise ne yapmalıyım?+
Hata log'ında "Allowed memory exhausted" yazıyorsa ne yapmalıyım?+
cPanel'de PHP versiyonunu değiştirdim, hala 500 hatası çıkıyor. Sorunu nasıl bulabilirim?+
Bülten Aboneliği
Haftada bir, teknoloji ve dijital dünyadan seçtiklerimiz e-postanda. Spam yok, sadece içerik.


