Eğer WordPress 500 internal server error hatasını kolayca çözmek istiyorsanız, bu detaylı rehbere bayılacaksınız.

WordPress 500 internal server error hatası örneği

WordPress sitenizde internal server hatasını gördüğünüzde paniğe kapılmamalısınız. Sitenizin 000webhost ücretsiz web hosting üzerinde veya farklı bir hosting firmasında olmasının bir önemi yok.

Bu hata size neyin yanlış olduğunu söylemese de, yazımızda bulunan çözümleri kullanarak bu hatayı ortadan kaldırabilirsiniz.

Not: Bu çözümleri uygulamadan, herhangi birşeyin yanlış gitme ihtimaline karşı önlem olarak WordPress sitenizi yedeklediğinize emin olun.

Site yedekleme işlemi önemlidir ve mutlaka edinilmesi gereken bir alışkanlıktır. Bu arada, eğer 500 internal server error hatası (veya 502 Bad Gateway tarzı bir hata) sitenize yakın zamanda yaptığınız değişikliklerden sonra ortaya çıktıysa, bu değişiklikleri yapmadan önce oluşturulan bir yedeği geri yüklemek sorunu çözecektir.

Bunu aradan çıkardığımıza göre, başlayabiliriz.

WordPress 500 Internal Server Error Hatasının Sebepleri

WordPress 500 internal server hatası çeşitli farklı sebeplerden dolayı ortaya çıkabilir, örneğin:

  • Bozulmuş .htaccess dosyası
  • PHP hafıza sınırı sorunları
  • Problemli eklenti(ler)
  • Bozulmuş WordPress dosyaları

Şimdi bu sebepleri teker teker inceleyerek her biri için uygulayabileceğimiz çözümlere gözatalım.

Bozulmuş .htaccess Dosyası

Çoğu zaman, bozulmuş .htaccess dosyası internal server hatasının ortaya çıkmasına sebep olur.

.htaccess (Hypertext Access kısaltması) web sunucunuz tarafından barındığı dizini ve bu dizinin içindeki alt-dizinleri kontrol etmek için (bizim durumumuzda bu WordPress dizini oluyor) kullanılan bir yapılandırma dosyasıdır.

Sitenizdeki WordPress 500 internal server error hatasına bozuk bir .htaccess dosyasının sebep olup olmadığını belirlemek için öncelikle mevcut .htaccess dosyanızın ismini değiştirmekle başlayabiliriz.

.htaccess Dosyasını Yeniden Adlandırma

FTP kullanarak WordPress dizininize (sitenizin barındığı klasör) giriş yapın. Eğer wp-content, wp-includes ve wp-admin adında alt klasörler görüyorsanız, doğru dizindesiniz demektir.

FileZilla ile WordPress dizini görünümü

Çoğu hosting ortamında, WordPress dizini genellikle Home veya Public_html dizini içerisindedir. Eğer WordPress kurulumunu siteniz.com/farkliadres gibi bir alt-domain’de yaptıysanız, bu durumda WordPress dizininiz farkliadres olacaktır.

Şimdi .htaccess dosyasını bulun ve sağ tıklayın. Açılan menüden Yeniden Adlandır sekmesine tıklayın ve dosya ismini .htaccess_eski gibi farklı birşeyle değiştirin.

internal server error hatasını çözmek için .htaccess adını değiştirin

.htaccess dosyasını yeniden adlandırdıktan sonra sitenizi yenileyerek bu çözümün 500 internal server error hatasını ortadan kaldırıp kaldırmadığını kontrol edin. Eğer internal server error hatasını artık görmüyorsanız sorun çözülmüş demektir.

.htaccess Dosyasını Yeniden Oluşturma

Şimdi WordPress admin panelinize giriş yapın ve Ayarlar -> Kalıcı Bağlantılar bölümünü açın ve sayfanın en aşağısında bulunan Değişiklikleri Kaydet butonuna tıklayın:

Yeni .htaccess dosyası oluşturmak için kalıcı bağlantıları kaydedin

Kalıcı bağlantıları kaydetmek otomatik olarak yeni bir .htaccess dosyası oluşturacaktır.

Eğer hata devam ediyorsa, daha fazla çözüm için yazımızı takip etmeye devam edin.

PHP Hafıza Sınırı Sorunları

Bazı zamanlarda WordPress 500 internal server error hatasının sebebi PHP hafıza sınırı olabilir. PHP hafıza sınırını düzeltmek oldukça kolay bir işlemdir.

İpucu: PHP hafıza sınırını arttırmak aynı zamanda en az internal server hatası kadar baş ağrıtabilen memory exhausted hatasını düzeltmek için de kullanılır.

WordPress için PHP Hafıza Sınırını Arttırma

WordPress dizininizin (.htaccess dosyasının da bulunduğu dizin) içindeki wp-config.php dosyasını düzenleyerek PHP hafıza sınırını arttırabilirsiniz.

  1. WordPress dizininize giriş yaparak wp-config.php dosyasını bilgisayarınıza indirin:WordPress dizininden wp-config.php dosyasını indirin
  2. NotePad++ veya Atom benzeri metin editörü ile wp-config.php dosyasını açın ve ardından aşağıdaki kodu /* That’s all, stop editing! Happy blogging. */ satırının hemen üzerine ekleyin:
    define ('WP_MEMORY_LIMIT', '300M');

    Bu kod sayesinde WordPress, PHP hafıza sınırını 300 MB’a arttıracaktır.

  3. Şimdi değişiklikleri kaydedin ve wp-config.php dosyasını WordPress dizininize yükleyin:wp-config.php dosyasını WordPress dizinine yükleyin

Mevcut wp-config.php dosyasının üzerine yazmanız gerekecektir:

eski wp-config.php dosyasının üzerine yazın

Admin Paneline Giriş Esnasında Internal Server Error Hatası Almak

Hazır hafıza sınırı konusundan bahsederken, şunu belirtmekte de fayda var: 500 internal server error hatasını sadece WordPress admin paneline giriş yaparken veya bir görsel yüklemeye çalışırken alıyor olabilirsiniz.

Eğer bu durum söz konusuysa, hafıza sınırını aşağıdaki adımları takip ederek arttırabilirsiniz:

  1. Kullandığınız metin editörünü açın ve yeni bir dosya oluşturarak şu kodu içine ekleyin: memory=64mb
  2. Şimdi dosyayı ini olarak kaydedin. Burada dikkat etmeniz gereken nokta, dosya uzantısını (.ini) doğru girmektir.php.ini dosyasını oluşturun
  3. Şimdi bu dosyayı FTP kullanarak WordPress dizininizdeki wp-admin alt klasörünün içine yükleyin.

Not: PHP hafıza sınırını, php.ini dosyası kullanarak düzeltme işlemi sadece localhost kurulumlarında ve WordPress VPS hosting üzerinde çalışır. Eğer 000webhost ücretsiz WordPress hosting hizmeti kullanıyorsanız, yukarıdaki wp-config.php dosyası yöntemini kullanın.

PHP hafıza sınırını arttırmak WordPress 500 internal server error hatasını çözebilir ancak bu çözüm geçici bir çözümdür çünkü sorunun temelinde sitenizde kaynakları tüketen birşey olduğunu gösterir. Tam kapsamlı bir teşhis için, hata kayıtlarını kontrol etmeniz gerekebilir.

Ancak PHP hafıza arttırma işlemi hatayı ortadan kaldırmadıysa, problemin eklentilerde olup olmadığını kontrol etme zamanımız gelmiş demektir.

Problemli Eklenti(ler)

WordPress 500 internal server error hatası sorunlu bir eklenti veya iki eklentinin çatışması sonucu ortaya çıkıyor olabilir. Sorunun kaynağında bir eklentinin olup olmadığını kontrol etmek için öncelikle tüm eklentileri devre dışı bırakmanız gerekiyor.

WordPress dizininize giriş yapın. Wp-content klasörünü açın ve plugins klasörünü bulun:

Tüm eklentileri devre dışı bırakmak için plugins klasörünün adını değiştirin

Klasörün adını plugins_eski gibi farklı birşeyle değiştirerek tüm eklentileri tek seferde devre dışı bırakın. Endişelenmeyin, herhangi bir eklentiyi kaybetmeyecek veya sitenize zarar vermiş olmayacaksınız.

Şimdi sitenizi yenileyerek internal server error hatası kontrol edin. Eğer sorun çözülmüşse, şimdi problemli eklentiyi bulup ortadan kaldırmamız gerekiyor.

Plugins_eski olarak adını değiştirdiğimiz klasörü tekrar sadece plugins haline getirin ve WordPress admin panelinizi açın. Ardından eklentilerinizi bir bir etkinleştirerek her etkinleştirmeden sonra sorunun çözülüp çözülmediğini görmek için sitenizi yenileyin ve bu işlemi hata tekrar ortaya çıkana dek sürdürün.

Eğer bir eklentiyi tekrar etkinleştirdiğinizde internal server error hatası ortaya çıkarsa, bu durum en son etkinleştirdiğiniz eklentinin sorunun kaynağı olduğu anlamına gelir. Bu eklentiyi FTP aracılığıyla silerek eklentinin geliştiricisine durumu bildirin.

Bozulmuş WordPress Dosyaları

Eğer yukarıdaki çözümlerin hiçbiri işe yaramadıysa, belkide 500 internal server error hatasının sebebi bozulmuş WordPress dosyalarıdır.

Bu oldukça nadir görülen bir durum olsa da, herşey her zaman bozulabilir. WordPress core dosyalarını düzeltmek için wp-admin ve wp-includes klasörlerinin yeni sürümlerini yüklemeniz gerekiyor.

Nasıl mı?

  1. www.WordPress.org sitesini açın ve WordPress’in yeni bir sürümünü indirin.WordPress.org adresinden WordPress'i indirin
  2. İndirdiğiniz WordPress .ZIP arşivini ayıklayın.
  3. WordPress klasörü içerisinde wp-admin ve wp-includes klasörlerini bulun:WordPress klasörü içinde wp-admin ve wp-includes klasörlerini bulun
  4. FTP kullanarak WordPress dizininizi açın ve yeni wp-admin ile wp-includes klasörlerini eski sürümlerin üzerine yazacak şekilde yükleyin:FileZilla aracılığıyla wp-admin ve wp-includes klasörlerini yükleyin

Şimdi bu çözümün sorunu çözüp çözmediğini görmek için sitenizi yenileyin. Hala 500 internal server error hatasını mı görüyorsunuz?

Bu durumda yapmanız gereken WordPress’in dahili debugging aracını kullanarak hataya neyin sebep olduğunu görebilirsiniz.

WordPress Debugging (Hata Ayıklama)

WordPress hata ayıklama modu sayesinde ortaya çıkan tüm hataları wp-content klasörü içinde oluşturulacak olan debug.log dosyası içine yazdırabilirsiniz.

Hata ayıklamayı etkinleştirmek için:

  1. FTP kullanarak WordPress dizininize giriş yapın ve wp-config.php dosyasını indirin.
  2. Wp-config.php dosyasını açın ve aşağıdaki kodu /* That’s it, stop editing! Happy blogging */ satırının hemen üzerine ekleyin:
define ('WP_DEBUG', true);
define ('WP_DEBUG_LOG', true);
define ('WP_DEBUG_DISPLAY'. false);
@ini_set ('display_errors', 0);
  1. Değişiklikleri kaydedin ve wp-config.php dosyasını tekrar WordPress dizininize yükleyerek mevcut dosyanın üzerine yazdırın.

Şimdi sitenizi yenileyerek hatanın tekrar ortaya çıkmasını sağlayın. Ardından WordPress dizininizi açarak wp-content klasörüne ulaşın ve debug.log dosyasını açın. Eğer geliştirici bir arkadaşınız varsa hataların ne anlama geldiğini hakkında size yardımcı olabilir.

Herhangi bir noktada takıldıysanız biz de yardımcı olabiliriz, bu yüzden sorularınızı yorumlar bölümünde sormaktan çekinmeyin.

Sonuç

WordPress 500 internal server error hatası genellikle sorunlu bir .htaccess dosyası veya düşük PHP hafıza sınırı yüzünden ortaya çıkar. Bu sorunun çözümü A, B, C kadar kolaydır yani bu hatayı aldığınızda kesinlikle panik yapmanıza gerek yoktur.

Yukarıdaki çözümlerden herhangi biri 500 internal server hatasını çözmenizi sağladı mı? Eğer sağladıysa lütfen yorumlar bölümünden bize iletin.

Daha önce 500 internal server error hatasıyla karşılaştınız mı? Sizin çözümünüz ne olmuştu? Bunların haricindeyse lütfen çözümünüzü yorumlar bölümünden bizimle paylaşın.

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • php
  • my sql
  • intel
  • cloudlinux
  • nginx
  • cloudflare
  • wordpress