Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTTP 500, web sunucusunun isteği işlerken beklenmeyen bir sunucu tarafı hatasıyla karşılaştığını gösterir. Hata genellikle ziyaretçinin tarayıcısından değil; uygulama kodundan, sunucu yapılandırmasından, dosya izinlerinden, PHP gibi çalışma ortamından, bellek yetersizliğinden veya veritabanı bağlantısından kaynaklanır. Bu nedenle 500 hatası görüldüğünde ilk bakılacak yer tarayıcı değil, sunucu ve uygulama hata kayıtlarıdır.

Bir ziyaretçi yalnızca “500 Internal Server Error” mesajını görebilir. Bu mesaj kök nedeni açıklamaz; aynı durum farklı sistemlerde farklı nedenlerle oluşabilir. Ayrıntı genellikle web sunucusunun, PHP-FPM’in, uygulamanın veya barındırma panelinin hata günlüğünde bulunur.

HTTP 500 hatası nasıl oluşur?​


Tarayıcı https://example.com/ adresine istek gönderir. Web sunucusu isteği karşılar ve gerekiyorsa PHP, Python veya başka bir uygulamayı çalıştırır. Bu aşamalardan biri isteği tamamlayamazsa sunucu, daha özel bir hata kodu kullanamadığı durumda 500 yanıtı döndürebilir.

Örneğin bir PHP dosyasında sözdizimi hatası varsa uygulama çalışmaz. Benzer şekilde hatalı bir sunucu kuralı, yanlış dosya sahibi veya izinleri, başarısız veritabanı bağlantısı ya da uygulamanın bellek sınırını aşması da 500 yanıtına yol açabilir. Nginx üzerinde hatalı yeniden yazma kuralları nedeniyle oluşan iç yönlendirme döngüleri de örnek nedenlerdendir.

Yaygın nedenler ve ilk kontrol noktası​


Aşağıdaki tablo, hatanın nerede aranacağını hızlıca daraltır.
BelirtiMuhtemel nedenİlk kontrolSonraki adım
Tüm site açılmıyorSunucu, PHP-FPM veya genel yapılandırma sorunuWeb sunucusu ve PHP hata kayıtlarıSon değişikliği geri alıp servis durumunu inceleyin
Yalnızca tek sayfa hata veriyorUygulama kodu, eklenti veya tema hatasıİstek zamanı ve uygulama günlüğüİlgili bileşeni geçici olarak devre dışı bırakın
Değişiklikten hemen sonra başladıHatalı yapılandırma, kod veya izinSon dağıtım ve dosya değişiklikleriYedekten veya sürüm geçmişinden geri dönün
Aralıklı görülüyorBellek, işlem limiti, yoğunluk veya dış servis sorunuZaman damgalı sunucu ve uygulama kayıtlarıKaynak kullanımını ve bağımlı servisleri karşılaştırın
Tablodaki belirti tek başına kesin teşhis değildir. Aynı hata, farklı sunucu yazılımlarında farklı günlük dosyalarında görülebilir.

HTTP 500 hatası nasıl teşhis edilir?​

  1. Hatanın kapsamını belirleyin. Ana sayfa, yönetim paneli, yalnızca belirli bir URL veya tüm alan adı mı etkileniyor kontrol edin.
  2. Hatayı ne zaman başladığıyla eşleştirin. Eklenti, tema, uygulama kodu, sunucu kuralı, PHP sürümü veya izin değişikliğinden hemen sonra başladıysa önce bu değişikliği inceleyin.
  3. Web sunucusunun hata günlüğünü açın. Nginx için genellikle error.log, Apache için error_log benzeri kayıtlar kullanılır; kesin konum barındırma yapılandırmasına bağlıdır.
  4. Uygulama ve çalışma ortamı kayıtlarını kontrol edin. PHP kullanılıyorsa PHP-FPM günlüğüyle birlikte uygulamanın kendi günlüklerini inceleyin.
  5. Günlükteki zaman damgasını istek zamanı ile eşleştirin. Permission denied, syntax error, bellek hatası, veritabanı bağlantı hatası veya yeniden yönlendirme döngüsü gibi ifadeler doğrudan sonraki işlemi gösterir.
  6. Kanıtlanan nedeni düzelttikten sonra aynı URL’yi yeniden test edin ve aynı hatanın günlüğe tekrar yazılıp yazılmadığını kontrol edin. Önbellek temizleme veya servis yeniden yükleme işlemini ancak değişiklik bunu gerektiriyorsa yapın.

Örnek: Eklenti değişikliğinden sonra 500​


Eklenti destekleyen bir PHP uygulamasında yeni eklenti etkinleştirildikten hemen sonra hem ana sayfa hem de yönetim paneli 500 döndürüyorsa, eklentinin uygulama başlatılırken hata ürettiği düşünülebilir. Önce hata günlüğündeki son kayıt doğrulanır. Kayıt eklentinin dosyasını gösteriyorsa eklenti devre dışı bırakılır; ardından site yeniden denenir. Site düzelirse eklenti veya diğer bileşenlerle etkileşimi güçlü bir adaydır; bunu tek başına bütün kök nedenin kanıtı saymayın. Düzelmezse son kod, tema, PHP yapılandırması ve dosya izinleri sırayla incelenmelidir.

Ziyaretçiyseniz ne yapabilirsiniz?​


Sayfayı art arda yenilemek genellikle çözüm sağlamaz. Bir süre sonra tekrar deneyebilir, farklı bir sayfada da aynı hatanın bulunup bulunmadığını kontrol edebilirsiniz. Hata devam ediyorsa site sahibine URL, yaklaşık saat, yaptığınız işlem ve görünen hata kimliğiyle bildirim gönderin. Sunucu günlüklerine erişiminiz yoksa kalıcı çözüm için hosting desteğinin inceleme yapması gerekir.

Üretimde ayrıntılı yığın izi, parola, belirteç veya veritabanı bilgisini ziyaretçiye göstermeyin. Hatanın ayrıntısını erişimi sınırlı günlüklerde, kullanıcıya gösterilen olay kimliğiyle eşleştirin.

Sık yapılan hatalar​


500 hatasını 404 sanmak: 404 istenen kaynağın bulunamadığını, 500 ise sunucunun isteği işlerken beklenmeyen bir sorun yaşadığını belirtir.

Yalnızca tarayıcı önbelleğini temizlemek: Bu işlem sunucu tarafındaki kod, izin veya yapılandırma hatasını düzeltmez.

Günlüğü incelemeden rastgele dosya silmek: Sorunun kanıtını ortadan kaldırabilir ve yeni hatalar oluşturabilir. Önce kayıtları yedekleyin ve değişiklikleri tek tek uygulayın.

Sık sorulan sorular​


500 döndüren sipariş veya formu hemen yeniden göndermeli miyim?​


Önce işlemin kaydedilip kaydedilmediğini kontrol edin. Sunucu değişikliği yapıp yanıt üretirken hata vermiş olabilir; özellikle POST isteğini tekrar göndermek aynı işlemi iki kez oluşturabilir. Site yöneticisi işlem kimliği ve kayıtlarla sonucu doğrulamalıdır.

HTTP 500 ile HTTP 502 arasındaki fark nedir?​


500, isteği işleyen sunucunun beklenmeyen bir iç sorun yaşadığını belirtir. 502 ise ağ geçidi veya proxy konumundaki sunucunun arka uçtan geçerli bir yanıt alamadığını ifade eder. Teşhis için ilgili katmanın günlükleri incelenmelidir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.