Hosting

HTTP 500 Internal Server Error Nedir, Nasıl Çözülür?

HTTP 500 hatası neden olur? .htaccess, PHP sürümü, bellek sınırı, eklenti ve dosya izinleri için adım adım çözüm. WordPress, cPanel ve Plesk örnekleriyle.

Febzen7 dk okuma
HTTP 500 Internal Server Error Nedir, Nasıl Çözülür?

HTTP 500 (Internal Server Error), sitenin sunucusunda bir şeyin ters gittiğini ama sunucunun sorunun ne olduğunu ziyaretçiye söyleyemediğini gösteren genel bir hatadır. Sorun ziyaretçinin bilgisayarında değil, sitededir. En sık nedenler: hatalı .htaccess satırı, PHP kodunda ya da bir eklentide hata, PHP bellek sınırının aşılması, uyumsuz PHP sürümü ve yanlış dosya izinleri. Çözümün ilk adımı hata kaydına (error log) bakmaktır; gerçek neden orada yazar.

Ziyaretçiyseniz: Ne yapabilirsiniz?

500 hatası sitenin kendi sorunudur. Ziyaretçi olarak yapabilecekleriniz sınırlıdır:

  1. Sayfayı birkaç dakika sonra yenileyin (F5). Geçici bir yük ya da güncelleme sırasında görülmüş olabilir.
  2. Başka bir sayfayı ya da ana sayfayı açın. Hata yalnız tek bir sayfadaysa site sahibine bildirin.
  3. Sorun sürerse site sahibine ya da destek ekibine hatanın görüldüğü adresi ve saati iletin.

Tarayıcı önbelleğini temizlemek ya da modemi yeniden başlatmak 500 hatasını genellikle çözmez.

Site sahibiyseniz: Önce hata kaydına bakın

500 hatası bir sonuçtur, neden değil. Sunucu gerçek nedeni hata kaydına yazar:

Panel Hata kaydı nerede?
cPanel Ölçümler → Hatalar (Errors) bölümü. Ayrıca site klasöründe error_log adlı dosya oluşabilir
Plesk Web Siteleri ve Alan Adları → Günlükler (Logs). Listede "Error" türündeki satırlara bakın
VDS / Linux Apache: /var/log/apache2/error.log ya da /var/log/httpd/error_log. Nginx: /var/log/nginx/error.log. PHP-FPM için ayrı kayıt da olabilir
WordPress wp-config.php dosyasında hata kaydını açın (aşağıda)

Kayıtta en son satırlara bakın. Hatanın görüldüğü saatle eşleşen satır, sorunun hangi dosyada ve satırda olduğunu söyler. Örnek:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted ...
PHP Parse error:  syntax error, unexpected '}' in /home/kullanici/public_html/wp-content/themes/tema/functions.php on line 42

HTTP 500 hatasının en sık 7 nedeni ve çözümü

1. Hatalı .htaccess dosyası

Apache ve LiteSpeed sunucularda .htaccess dosyasındaki tek bir hatalı satır bütün siteyi 500 hatasına düşürür. Genellikle yeni bir yönlendirme ya da önbellek eklentisinden sonra olur.

Çözüm: Dosya yöneticisinde .htaccess dosyasının adını .htaccess-eski yapın ve siteyi yenileyin. Site açılıyorsa sorun bu dosyadadır.

  • WordPress'te Ayarlar → Kalıcı Bağlantılar sayfasında hiçbir şey değiştirmeden Kaydet'e basın. Temiz bir .htaccess dosyası yeniden oluşur.
  • Diğer sitelerde eski dosyadaki kuralları tek tek geri ekleyerek hatalı satırı bulun.

2. PHP kodunda hata (tema, eklenti ya da yeni yüklenen dosya)

Bir güncelleme ya da elle yapılan küçük bir değişiklik, PHP'nin dosyayı çalıştıramamasına yol açabilir. Hata kaydında PHP Parse error ya da PHP Fatal error yazar.

Çözüm: Kayıtta adı geçen dosyadaki son değişikliği geri alın. Dosyanın değişiklikten önceki bir kopyası varsa onu geri yükleyin.

3. WordPress eklentisi ya da tema çakışması

WordPress sitelerinde 500 hatasının en yaygın nedenidir. Sorun çoğunlukla bir eklenti güncellemesinden hemen sonra başlar.

Çözüm (yönetim paneline giremiyorsanız):

  1. Dosya yöneticisinde ya da FTP ile wp-content/plugins klasörünün adını plugins-kapali yapın. Tüm eklentiler devre dışı kalır.
  2. Site açılırsa klasörün adını geri plugins yapın.
  3. Eklenti klasörlerini tek tek yeniden adlandırarak sorunlu eklentiyi bulun.
  4. Tema şüpheliyse wp-content/themes içindeki etkin temanın klasör adını değiştirin. WordPress varsayılan temaya döner (yüklüyse).

FTP ile bağlanmayı bilmiyorsanız: FTP nedir, nasıl bağlanılır?

Hata, sizin yapmadığınız dosya değişikliklerinden sonra başladıysa sitede zararlı kod olabilir: WordPress virüs temizleme.

4. PHP bellek sınırının aşılması

Kayıtta Allowed memory size of … bytes exhausted yazar. Ağır bir eklenti, büyük bir içe aktarma ya da sayfa oluşturucu, varsayılan bellek sınırını aşabilir.

Çözüm:

  • cPanel: Yazılım → PHP Sürümünü Seç → Seçenekler sayfasında memory_limit değerini yükseltin (ör. 256M). Ya da MultiPHP INI Editor'ü kullanın.
  • Plesk: PHP Ayarları sayfasında memory_limit.
  • WordPress: wp-config.php dosyasına, /* That's all, stop editing! */ satırından önce şu satırı ekleyin:
define( 'WP_MEMORY_LIMIT', '256M' );

Bellek sınırını yükseltmek sorunu çözüyor ama site kısa sürede yine sınıra dayanıyorsa, sitenin kaynak ihtiyacı paylaşımlı hostingi aşmış olabilir. Bu durum aşağıda ayrıca anlatılıyor.

5. Uyumsuz PHP sürümü

PHP sürümü yükseltildikten sonra eski bir tema ya da eklenti çalışmayı bırakabilir. Tersi de olur: yeni bir eklenti, eski PHP sürümünde çalışmaz.

Çözüm: Panelden PHP sürümünü değiştirip siteyi deneyin.

  • cPanel: PHP Sürümünü Seç ya da MultiPHP Yöneticisi.
  • Plesk: PHP Ayarları.

Kalıcı çözüm, eski eklenti ve temayı güncellemektir. Eski PHP sürümünde kalmak güvenlik açığı bırakır. Febzen hosting paketlerinde PHP 8.2 ile 8.5 arasındaki sürümler panelden seçilir.

6. Yanlış dosya ve klasör izinleri

Birçok paylaşımlı hosting sunucusu, herkese yazma izni verilmiş (777) PHP dosyalarını güvenlik nedeniyle çalıştırmaz ve 500 hatası verir.

Doğru izinler:

Tür İzin
Klasörler 755
Dosyalar 644
wp-config.php 640 ya da 600 (sunucu destekliyorsa)

Dosya yöneticisinde dosyaya sağ tıklayıp İzinleri Değiştir ile düzeltilir. VDS'te komut satırından:

find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;

7. Zaman aşımı ve sunucu kaynaklarının yetmemesi

Uzun süren işlemler (büyük raporlar, içe aktarmalar, yoğun trafik) PHP'nin çalışma süresini ya da hesabın kaynak sınırını aşabilir. Bu durumda 500 yerine 503, 504 ya da 508 hatası da görülebilir.

Çözüm:

  • max_execution_time değerini panelden makul ölçüde artırın.
  • Ağır işleri zamanlanmış görevlere (cron) taşıyın.
  • Bir önbellek eklentisi ya da sunucu önbelleği kullanın.

WordPress'te hata ayıklama modu (WP_DEBUG)

Hata kaydına ulaşamıyorsanız WordPress'in kendi kaydını açın. wp-config.php dosyasında WP_DEBUG satırını bulun ve şu üç satırla değiştirin:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Siteyi yenileyin. Hatalar wp-content/debug.log dosyasına yazılır ve ziyaretçilere gösterilmez. Sorunu bulduktan sonra WP_DEBUG değerini yeniden false yapın ve debug.log dosyasını silin. Bu dosya herkese açık bir klasörde durur.

500, 502, 503 ve 504 farkı

Kod Anlamı Tipik neden
500 Internal Server Error Sunucuda beklenmeyen bir hata Kod hatası, .htaccess, bellek, izinler
502 Bad Gateway Aradaki sunucu (proxy, CDN) arka uçtan geçersiz yanıt aldı PHP-FPM ya da uygulama çöktü, arka uç kapalı
503 Service Unavailable Sunucu geçici olarak hizmet veremiyor Bakım modu, aşırı yük, kaynak sınırı
504 Gateway Timeout Aradaki sunucu arka uçtan zamanında yanıt alamadı Uzun süren sorgu ya da işlem

Cloudflare kullanan sitelerde 520–527 arası kodlar da görülür. Bu kodlar, Cloudflare'in sitenin sunucusuna ulaşamadığını ya da sunucudan geçersiz yanıt aldığını gösterir. Cloudflare hakkında: Cloudflare nedir?

500 hatası sık tekrarlanıyorsa: altyapıyı gözden geçirin

Yukarıdaki adımlar çoğu 500 hatasını çözer. Ancak hata trafik arttığında, kampanya günlerinde ya da yoğun saatlerde tekrar ediyorsa sorun kodda değil kaynaktadır. Paylaşımlı hostingde her hesabın işlemci, bellek ve eş zamanlı işlem sınırı vardır. Şu işaretler bu sınırın aşıldığını gösterir:

  • Hata kaydında bellek ya da süre sınırı hataları düzenli olarak görünüyor.
  • Hata yalnız yoğun saatlerde çıkıyor, gece kendiliğinden düzeliyor.
  • Panelde kaynak kullanım grafikleri sürekli sınırda.

Seçenekler:

  1. Daha yüksek paket: Kurumsal kullanım için kurumsal web hosting.
  2. WordPress'e özel paket: WordPress hosting.
  3. Kaynakları yalnız size ayrılan sunucu: VDS. Paket yükseltme kısa bir kesintiyle yapılır ve fark ücreti dönemin kalan süresine göre hesaplanır.

Sık sorulan sorular

HTTP 500 hatası ne demek?

HTTP 500 (Internal Server Error), sitenin sunucusunda beklenmeyen bir hata oluştuğunu gösteren genel bir koddur. Sorun ziyaretçide değil, sitededir. Gerçek neden sunucunun hata kaydında yazar.

500 Internal Server Error nasıl düzeltilir?

Önce hata kaydına bakın. En sık çözümler: .htaccess dosyasını yeniden oluşturmak, sorunlu eklentiyi devre dışı bırakmak, PHP bellek sınırını yükseltmek, PHP sürümünü değiştirmek ve dosya izinlerini 644/755 yapmak.

WordPress'te 500 hatası neden olur?

Çoğunlukla bir eklenti ya da tema güncellemesinden sonra olur. wp-content/plugins klasörünün adını değiştirerek eklentileri toplu kapatabilir, siteyi açınca sorunlu eklentiyi tek tek bulabilirsiniz. Hatalı .htaccess ve bellek sınırı da sık nedenlerdendir.

500 hatası SEO'yu etkiler mi?

Kısa süreli bir hata sıralamayı genellikle etkilemez. Hata günlerce sürerse Google o sayfaları daha seyrek tarar ve sonunda dizinden düşürebilir. Bu yüzden 500 hataları hızlıca giderilmelidir. Search Console'daki "Sayfa dizine ekleme" raporunda sunucu hatası alan adresler görülür.

500 hatası benim bilgisayarımdan mı kaynaklanıyor?

Hayır. 500 sunucu tarafı bir hatadır. Tarayıcı önbelleğini temizlemek ya da modemi yeniden başlatmak genellikle çözmez. Sayfayı birkaç dakika sonra yenilemeyi deneyin ve sorun sürerse site sahibine bildirin.

500 hatası ile 503 hatası arasındaki fark nedir?

500, sunucuda beklenmeyen bir hata olduğunu söyler. 503 ise sunucunun geçici olarak hizmet veremediğini, örneğin bakımda ya da aşırı yük altında olduğunu söyler.

Siteniz büyüdüyse altyapı da büyüsün. Febzen web hosting paketlerinde PHP sürümü panelden seçilir, teknik destek 7/24 hizmet verir. Kaynak ihtiyacı arttığında paketinizi yükseltebilir ya da VDS'e geçebilirsiniz. Web hosting paketleri · WordPress hosting

Paylaş:XLinkedInWhatsApp

İlgili yazılar

Hosting5 dk okuma

FTP Nedir? SFTP ve FTPS ile Farkı

FTP nedir, ne işe yarar? FTP, FTPS ve SFTP farkı, port numaraları, FileZilla ile bağlanma adımları ve dosyalarınız için hangi protokolün güvenli olduğu.

Hosting7 dk okuma

SPF, DKIM ve DMARC Nedir, Nasıl Kurulur?

SPF, DKIM ve DMARC nedir, DNS kayıtları nasıl yazılır? Örnek kayıtlar, Gmail ve Outlook gönderici kuralları, test yöntemi ve sık yapılan hatalar.