500 Internal Server Error: Neden Olur, Nasıl Çözülür? (cPanel, WordPress, Nginx/Apache Rehberi)

Özet (TL;DR): 500, sunucunun isteği işlerken beklenmeyen bir durumla karşılaştığını anlatan genel (“catch-all”) bir hata kodudur; kök nedeni loglarda bulunur. Önce logları açın, sonra sırasıyla uygulama (.htaccess/eklenti/tema), PHP (sürüm/uzantı/bellek), web sunucusu (Apache/NGINX) ve altyapı (Cloudflare, LVE/508) katmanlarını kontrol edin.

1) 500 Internal Server Error nedir?

500, “sunucu beklenmeyen bir koşulla karşılaştı ve isteği tamamlayamadı” anlamına gelen genel 5xx durum kodudur; tek başına sebep söylemez. Bu yüzden doğru teşhis için hata günlükleri (error log) şarttır.

2) İlk 5 dakikalık teşhis: Hızlı kontrol listesi

  • Herkes mi etkileniyor, tek sayfa mı? Sitenin başka sayfaları açılıyor mu; yalnızca /wp-admin mi?
  • Önce loglar: cPanel’de Metrics → Errors (son hatalar), File Manager’da error_log, Apache/NGINX ve PHP-FPM logları.
  • WordPress debug: WP_DEBUG_LOG etkinleştirip wp-content/debug.log’u takip edin.
  • Cloudflare kullanıyorsanız: 5xx analitiğine ve 522/502 gibi edge-origin bağlantı hatalarına ayrıca bakın.

3) WordPress odaklı çözüm adımları

.htaccess dosyasını doğrulayın / sıfırlayın (Apache)

WordPress kalıcı bağlantılar için .htaccess kullanır; bozulmuş kurallar 500 üretebilir. Gerekirse varsayılan WP kurallarını geri yükleyin. Apache tarafında .htaccess’in çalışması AllowOverride ayarına bağlıdır.

Eklenti/tema çatışmasını ekarte edin

  • Tüm eklentileri geçici devre dışı bırakın (FTP/cPanel’den wp-content/plugins klasörünü örn. plugins.off yapın), site açılıyorsa tek tek etkinleştirerek sorunluyu bulun.
  • Temayı varsayılan bir temaya alın (ör. Twenty Twenty-*), sorun devam ediyorsa themes klasörünü geçici yeniden adlandırın.

PHP sürümü/uzantıları & bellek limiti

  • cPanel MultiPHP/Select PHP ile uyumlu bir PHP 8.x sürümüne geçin; gerekli uzantılar (mysqli, intl, gd vb.) açık mı kontrol edin.
  • memory_limit yetersizse WordPress/PHP “memory exhausted” ile 500’e gidebilir; 256M (gerekirse 512M) deneyin.

Dosya/klasör izinleri

Genel öneri: dosyalar 644, klasörler 755. Aşırı geniş izinler (örn. 777) hem 500’e hem güvenlik risklerine neden olabilir.

Yönetim paneline giremiyorsanız

  • Eklentileri FTP/cPanel ile klasör yeniden adlandırarak kapatın.
  • .htaccess adını geçici değiştirip yenisini oluşturun (Kalıcı Bağlantılar sayfasını kaydedin).
  • error_log ve wp-content/debug.log’u kontrol edin.

4) NGINX/Apache/PHP-FPM tarafı: sistematik teşhis

Loglar (nereden bakacağız?)

  • Apache: ErrorLog ile tanımlı hata günlüğü; teşhisin bir numaralı kaynağı.
  • NGINX: error_log konumu/seviyesi (stderr, dosya, syslog). Gerekirse debug seviyesi.
  • PHP-FPM: Global error_log ve pool logları; slowlog ile geciken scriptleri yakalayın.

NGINX ↔ PHP-FPM entegrasyonu

500, kimi zaman hatalı fastcgi_param değerlerinden (özellikle SCRIPT_FILENAME) veya PHP tarafındaki ölümcül bir istisnanın balonlanmasından kaynaklanır. Konfigürasyonu ve hata günlüklerini doğrulayın.

PHP-FPM tarafında yaygın nedenler

  • Eksik PHP modülü veya ölümcül hata → 500 (ayrıntı FPM/Apache/NGINX error_log’da).
  • Slowlog ile yavaş PHP sayfalarının backtrace’ini çıkarın; request_slowlog_timeout için makul eşik belirleyin.

5) Cloudflare & CloudLinux (508) ilişkisi

  • Cloudflare 522 (Connection timed out): Cloudflare, origin’e zamanında ulaşamazsa 522 verir. Sık nedenler: yanlış/yanıtsız origin IP, firewall engeli, yoğunluk.
  • CloudLinux 508 Resource Limit Is Reached: Paylaşımlı hostingte hesap için tanımlı CPU/RAM/IO/Entry Process limitleri aşıldığında görülür. Kaynak artırımı ya da optimizasyon gerekir.

6) cPanel’de pratik teşhis akışı (5 adım)

  1. Metrics → Errors: Son hata kayıtlarını açın.
  2. PHP Selector / MultiPHP: Sürümü değiştirin, gerekli uzantıları etkinleştirin (FPM error_log yolunu not alın).
  3. Resource Usage (CloudLinux ise): Limit aşımları/508 var mı bakın.
  4. WordPress: WP_DEBUG_LOG açın, .htaccess’i yenileyin, eklenti/tema izolasyonu yapın.
  5. Cloudflare: 5xx/522 analitiği; DNS origin IP ve firewall allowlist’i doğrulayın.

7) Kopyala-yapıştır çözümler (kod örnekleri)

WordPress’te hata kaydı (wp-config.php)

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);  // wp-content/debug.log
define('WP_DEBUG_DISPLAY', false);

PHP bellek limiti yükseltme

// wp-config.php
define('WP_MEMORY_LIMIT', '256M');
// Bazı kurulumlarda php.ini / .user.ini / .htaccess üzerinden ayarlamak gerekir.

Varsayılan WordPress .htaccess (Apache)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

NGINX log seviyesini (geçici) yükseltme

error_log /var/log/nginx/error.log notice;  # gerekirse info/debug
# test & reload
nginx -t && systemctl reload nginx

PHP-FPM slowlog örneği

request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/www-slow.log

8) Sık senaryolar → nasıl okuruz / çözeriz?

  • Tek sayfada 500 (örn. /wp-admin veya belli bir yazı): debug.log ve Apache/NGINX error_log ilgili script/eklenti izini verir → problemli eklentiyi devre dışı bırakın/güncelleyin.
  • Tüm sitede 500, Cloudflare açık: Origin logları + Cloudflare 5xx/522 kılavuzları; firewall ve origin erişimi.
  • Yük altında 500/503/508 karışık: CloudLinux Entry Process/CPU/Memory limit grafikleri → önbellek, sorgu optimizasyonu veya plan yükseltme.

9) Önleyici bakım önerileri

  • Log/uyarılar: Apache/NGINX ve PHP-FPM loglarını düzenli izleyin; cPanel Errors’ı kontrol edin.
  • Güncellemeler: WordPress çekirdek/tema/eklenti & PHP sürümleri güncel kalsın.
  • Önbellek ve profil: Sayfa önbelleği + OPcache; PHP-FPM slowlog ile “yavaş sayfa” avı.
  • Cloudflare kuralları: Origin IP ve güvenlik duvarı uyumu; 522/5xx analitiği.

10) SSS

500 mü, 502/503/504 mü? 500 genel uygulama/sunucu hatasıdır. 502/504 upstream iletişim/zaman aşımı; 503 genellikle bakım/aşırı yük durumudur.

cPanel’de ilk nereye bakayım? Metrics → Errors bölümü, en son hata kayıtlarını hızla gösterir.

WordPress’te ilk müdahale? WP_DEBUG_LOG açın, .htaccess’i yenileyin, eklentileri topluca kapatıp tek tek açın.

 

İlginizi Çekebilir:WHMCS Promotion::appliesToService Hatası Çözümü | Orphan Service Fix & Kupon Problemleri Rehberi
share Paylaş facebook pinterest whatsapp x print

Benzer İçerikler

yum update –nobest: Linux Sunucularda Güncelleme Sorunlarına Pratik Çözüm
Centos 7 Üzerine Yüklenmiş WHM/Cpanel Mod_lsapi Yükleme
CWP Üzerine Roundcube 1.5.11 – Modern, Güvenli ve Güncel
CWP Roundcube 1.5.11 Kurulumu: Adım Adım Güncelleme Rehberi
CentOS Web Panel için Nginx ile HTTP/3 ve QUIC Nasıl Aktif Edilir?
Mod Security Yapılandırması: Web Güvenliğinde En İyi Uygulamalar ve İpuçları
CWP’de WHMCS 503 Service Unavailable hatasını Hatası Çözümü | PHP 7.4 – 8.4 Adım Adım

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Saviorhost İnternet Hizmetleri | © 2025 |