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.

5 dk okuma 15 görüntülenme
500 hatası çözümü

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. .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.

  8. 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.

  9. 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.

  10. 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?+
Geçebilir, eğer sunucu aşırı yüklenmesi nedeniyle çıktıysa. Ancak kalıcı bir PHP kod hatası veya eklenti çakışması varsa hata devam eder. Sayfayı 10 dakika sonra yenileyin. Eğer hata hala varsa, hosting desteğine müracaat edin.
WordPress debug.log dosyası boş veya yok ise ne yapmalıyım?+
wp-config.php dosyasındaki debug ayarlarının doğru yazıldığını kontrol edin. Debug.log dosyasının oluşturulması, 500 hatası çıkması ve sayfanın açılması sırasında gerçekleşir. Eğer dosya yine de görünmüyorsa, hata veri tabanı bağlantısında olabilir. wp-config.php dosyasındaki DB_HOST, DB_USER ve DB_PASSWORD değerlerini hosting sağlayıcısından teyit edin.
Hata log'ında "Allowed memory exhausted" yazıyorsa ne yapmalıyım?+
Bu, PHP'ye tahsisli belleğin yetersiz olduğu anlamına gelir. wp-config.php dosyasında WP_MEMORY_LIMIT değerini 256M, 512M veya 1024M olarak artırın. Eğer hosting, bu limiti desteklemiyorsa (Shared Hosting'te sınır olabilir) planı yükseltin veya ağır eklentileri devre dışı bırakın.
cPanel'de PHP versiyonunu değiştirdim, hala 500 hatası çıkıyor. Sorunu nasıl bulabilirim?+
File Manager'da wp-config.php dosyasına debug satırlarını ekleyin (5. adımı izleyin), debug.log dosyasını kontrol edin. Hata spesifik bir eklenti veya fonksiyon gösteriyorsa, o eklentiyi devre dışı bırakın veya hosting destek ekibine hata günlüğünü gönderin.

Bülten Aboneliği

Haftada bir, teknoloji ve dijital dünyadan seçtiklerimiz e-postanda. Spam yok, sadece içerik.

Benzer Haberler

Yorumlar

0
Henüz yorum yok. İlk yorumu sen yap!