Web Sitelerinde 500 Internal Server Hatası ve Kesin Çözüm Yolları (error_log Dosyası ile Adım Adım)
500 Internal Server Error Nedir ve Neden Korkmamalısınız?
Web sitenizi ziyaret ettiğinizde beyaz bir sayfada veya tarayıcı ekranında beliren "500 Internal Server Error" (500 Dahili Sunucu Hatası), webmasterların en sık karşılaştığı HTTP durum kodlarından biridir.
Bu hata, web sunucusunun (Apache veya LiteSpeed) ziyaretçinin isteğini yerine getirmek istediğini ancak sunucu tarafındaki bir kod, eklenti veya yapılandırma çakışması yüzünden işlemi tamamlayamadığını belirtir. Korkmanıza gerek yok: Bu durum web sitenizin veya veritabanınızın silindiği anlamına gelmez; genellikle ufak bir PHP hatası ya da hatalı bir satır koddan kaynaklanır.
🔍 1. ve En Kritik Adım: error_log Dosyasını Kontrol Edin (Hatanın Röntgeni)
500 hatasını çözmeye çalışırken yapılan en büyük hata, sitenin dosyalarını rastgele kurcalamak veya rastgele eklentileri silmektir. Oysa sunucunuz, siteniz çöktüğü anda hatanın hangi dosyanın, kaçıncı satırında meydana geldiğini saniyesi saniyesine error_log dosyasına kaydeder!
cPanel Üzerinden error_log Dosyasına Nasıl Bakılır?
- NeferHost Müşteri Paneli > Hosting Yönetimi sayfasına gidin.
- İlgili hosting paketinizin YÖNET modalini açıp Hızlı Erişim butonlarından "Dosya" (cPanel Dosya Yöneticisi) butonuna tıklayın.
- Web sitenizin ana dizini olan
public_htmlklasörünü açın. - Klasörün içindeki
error_logdosyasını bulun, sağ tıklayıp "View" (Görüntüle) veya "Edit" deyin. - Dosyanın en altındaki (en güncel tarihli) satırlara bakın.
[13-Oct-2026 19:40:12 UTC] PHP Fatal error: Uncaught Error: Call to undefined function wp_get_theme() in /home/user/public_html/wp-content/themes/ozel-tema/functions.php on line 42
Yukarıdaki örnekte görüldüğü gibi log satırı size suçlunun ozel-tema içerisindeki functions.php dosyasının 42. satırı olduğunu anında söyler!
Adım 2: Hatalı .htaccess Dosyasını Test Edin (%60 En Yaygın Sebep)
Apache ve LiteSpeed sunucularında .htaccess dosyasında yapılan en ufak bir yazım hatası, eksik bir modül yönergesi veya desteklenmeyen yönlendirme kuralı tüm sitenin anında 500 hatası vermesine sebep olur.
- Dosya Yöneticisi'nde
public_html/.htaccessdosyasını bulun. (Eğer görünmüyorsa Dosya Yöneticisi sağ üstteki Ayarlar > "Gizli Dosyaları Göster / Show Hidden Files" seçeneğini açın). - Dosyanın adını geçici olarak
.htaccess_yedekolarak değiştirin. - Tarayıcınızdan sitenizi yenileyin.
- Eğer site açıldıysa: Sorun kesinlikle .htaccess dosyanızdaki hatalı bir kuraldır. Yeni ve temiz bir
.htaccessoluşturup aşağıdaki standart WordPress kurallarını yapıştırarak kaydedin:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Adım 3: PHP Bellek Limitini (memory_limit) Artırın
E-ticaret siteleri (WooCommerce), sayfa oluşturucular (Elementor) veya yoğun veritabanı sorguları çalıştıran sistemler sunucunun izin verdiği varsayılan 128 MB RAM limitini tüketebilir. Limit aşıldığında sistem Fatal error: Allowed memory size of ... bytes exhausted hatası vererek 500 döner.
- cPanel hesabınıza giriş yapın ve Yazılım > MultiPHP INI Editor menüsünü açın.
- Alan adınızı seçip memory_limit değerini
256Mveya512Molarak güncelleyin ve kaydedin. - WordPress kullanıyorsanız
wp-config.phpdosyasını açıp/* That's all, stop editing! */satırından hemen önce şu kodu ekleyin:
define('WP_MEMORY_LIMIT', '256M');
Adım 4: PHP Sürüm Uyumsuzluğunu Kontrol Edin
Sitenizde kurulu olan eski bir tema veya eklenti, sunucudaki güncel PHP 8.2 veya 8.3 sürümünde kaldırılmış fonksiyonları çağırıyor olabilir (Örn: each(), create_function() vb.).
- cPanel üzerinden Select PHP Version veya MultiPHP Manager sekmesine girin.
- PHP sürümünü geçici olarak PHP 8.1 veya PHP 8.0 olarak değiştirin.
- Siteyi yenileyip kontrol edin. Siteniz açılıyorsa sorunlu eklentinizi güncelleyin ve ardından PHP sürümünüzü tekrar yüksek performansa (PHP 8.3) çekin.
Adım 5: WordPress Eklenti ve Tema Çakışmalarını Tespit Edin
WordPress yönetim paneline dahi giremiyorsanız (Beyaz Ekran / 500 Hatası):
- cPanel Dosya Yöneticisi ile
public_html/wp-content/klasörüne gidin. pluginsklasörünün adını geçici olarakplugins_deaktifyapın. Bu işlem tüm eklentileri güvenli şekilde devre dışı bırakır.- Sitenizi yenileyin. Eğer açılırsa, klasörün adını tekrar
pluginsyapın ve içindeki eklentilerin adını tek tek değiştirerek hangi eklentinin siteyi çökerttiğini kolayca bulun.
Adım 6: Dosya ve Dizin İzinlerini (Permissions) Denetleyin
Linux tabanlı web sunucularında güvenlik kuralları oldukça katıdır. Güvenlik nedeniyle:
- Tüm klasörlerin izinleri 755 olmalıdır.
- Tüm dosyaların izinleri 644 olmalıdır.
- Önemli: Asla bir klasöre veya dosyaya
777izni vermeyin! LiteSpeed ve suPHP güvenlik motorları 777 izni verilmiş dosyaları çalıştırmayı reddeder ve güvenlik koruması olarak doğrudan 500 hatası üretir.
💡 WordPress Hata Ayıklama (WP_DEBUG) Modu
Beyaz ekranda hatanın tam metnini yakalamak için wp-config.php içerisindeki define('WP_DEBUG', false); satırını şu şekilde değiştirin:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Bu ayar ziyaretçilere hata göstermez, ancak tüm detayları wp-content/debug.log dosyasına yazar.
Sorun Hala Çözülmedi mi?
Yukarıdaki tüm adımlara rağmen siteniz hala 500 veriyorsa endişelenmeyin! NeferHost 7/24 Teknik Destek Ekibi yanınızda. Müşteri panelinizden bir destek bileti (ticket) açarak alan adınızı belirtmeniz yeterlidir; mühendislerimiz sunucu seviyesindeki LiteSpeed ve Apache hata kayıtlarını inceleyerek sorununuzu en kısa sürede çözecektir.
Diğer Makaleler
Bizden Haberdar Olun
NeferHost'un yeni kampanya, duyuru ve makalelerinden ilk siz haberdar olun!
Yorumlar (0)
Bir Yorum Bırakın