500 Internal Server Error Hatası, genellikle sitenizin .htaccess dosyasının yanlış yapılandırılması veya web sitenizdeki aşırı yoğunluk sonucunda sunucunun yanıt verememesine neden olan bir hatadır. Bu hata http 500 durum kodu döndürür.
Bu yazımızda, bazı çözüm tavsiyelerinde bulunup, bunları birlikte uygulayarak, bu sorunu gidermeye çalışacağız.
İçerik Tablosu
HTTP 500 Internal Server Hatasının Sebebi Nedir?
500 internal server hatası, farklı nedenlere bağlı olarak ortaya çıkabilen bir hata çeşididir.
HTTP 500 internal server hatasına neden olan durumlar;
- Web sitenizin yazılımsal olarak barındırdığı hatalar,
- .htaccess dosyasının hatalı yapılandırılması veya bu dosyanın bozulması,
- Sunucunun cevap verememesi, sunucunun aşırı yük altında olması,
- Sunucunun DDOS/Botnet benzeri saldırılara maruz kalması ve gelen aşırı istekler nedeniyle sunucunun devre dışı kalması,
- WordPress sitelerinin kök klasörlerindeki hatalar veya yanlış yapılandırılması,
- PHP bellek limitinin aşılması,
- Dosya izinlerinin geçersiz yapılandırılması,
- Yazılım veya uygulamlardaki yanlış veya hatalı kodlama / kod blokları,
- Web site kodlarının güncellenmemesi, veya wordpress gibi sistemlerde bazı eklentilerin silinmesi, önemli eklentilerin kaldırılması, güncellenmemiş eklentiler, eklentilerin çakışması,
- Kontrolsüz yapılan WordPress güncellemesi veya PHP sürümünün web sitenin yazılımıyla uyumlu olmaması.
500 internal server error çözümü
500 internal server hatasının çözümünü bulmak için öncelikle çalışma ortamının düzenli olması ve yedekli çalışmamız gerekiyor. uygulayabileceğiniz birkaç çözüm önerisine aşağıda ulaşabilir, bunları web sitenizde uygulayarak 500 internal server hatasına neden olan yanlış yapılandırmayı düzelterek bu hatayı ortadan kaldırabilirsiniz.
Sitenizi Yedekleyin
Bu çözümler, sitenizin kök dizininde bir çok değişiklik yapmayı gerektiriyor. Bu çözümleri denemeden önce, bir şeylerin ters gitme ihtimaline karşı, sitenizin bir yedeğini almayı şiddetle tavsiye ediyoruz. IHS Telekom hosting kullanıcıları sıkıştırılmış zip formatındaki yedeğini destek talebi oluşturarak talep edebiliyor.
FTP Kullanarak Yedekleme
FTP istemcisi kullanma konusunda deneyimli iseniz bu bölümü geçebilirsiniz. Çözümlerin birçoğu için gerekli olduğundan dolayı, daha önce hiç kullanmamış okuyucularımız için, FTP programının kurulumu üzerinden geçeceğiz.
Bir FTP programı, sitenizin dosyalarına erişmenize ve düzenleyebilmenize olanak tanır. FTP programı kullanmak çoğu zaman kolay bir yöntemdir.
Piyasada bir çok FTP programı bulunmaktadır, fakat ücretsiz olması ve popüler olması gibi birçok nedenden dolayı, yazımızda FileZilla üzerinden anlatımı geçekleştireceğiz. FileZilla’nın sitesine giderek Download FileZilla Client bağlantısına tıklayınız.
Eğer site, işletim sisteminize uygun bir öneride bulundu ise yeşil Download FileZilla Client butonuna tıklayınız. Eğer önerilen versiyon işletim sisteminize uygun değilse yeşil butonun altındaki Show Additional Download Options linkine tıklayarak size uygun versiyonu indiriniz.
İndirdiğiniz programı bilgisayarınıza kurduktan sonra açınız. Daha sonra File(Dosya)>Site Manager(Site Yöneticisi) üzerinden New Site(Yeni Site) butonuna tıklayın ve site isminizi yazınız.
Bu alanları doldurunuz:
• Host – Domain adınız
• Port – Boş bırakınız
• Protocol – FTP – File Transfer Protocol
• Encryption – Only Use Plain FTP
• Logon Type – Normal
Username, password alanına kullanıcı adını ve şifrenizi giriniz. Transfer Settings(Aktarım Ayarları) sekmesine giderek “Limit Number of Simultaneous Connections” seçim kutusunu işaretleyiniz. Maksimum bağlantı sayısını 8 olarak ayarlayınız. Bu işlem sitenizin bulunduğu serverın, sizi bir saldırı ile karıştırıp IP adresinizi engellemesini engeller. Sitenizin sunucusuna bağlanmak için Connect butonuna tıklayın.
Devam etmek için hazırsınız!
500 Internal Server hatası için yaygın çözümler
Bu hatanın en yaygın iki nedeni, bozuk bir .htaccess dosyası veya sunucunuzun PHP bellek limitini aşmasıdır. Bir eklenti yükledikten sonra veya WordPress sitenizde başka bir değişiklik yaptıktan sonra, WordPress dizininizdeki .htaccess dosyası, bozulmuş olabilir. Çözümü basittir. Tek ihtiyacınız olan .htaccess dosyasını tekrardan oluşturmaktır.
PHP bellek limiti sorunları genellikle, sitenize kurulan kötü kodlanmış bir eklenti yada sitenizin zaman içerisinde önemli ölçüde büyümesi ve çok fazla eklenti bulunmasından dolayı ortaya çıkar. Bunlar gerçekleştiğinde, PHP hafıza limitlerini aşmaya başlarsınız. Sonuç ise 500 Internal Server hatası olur.
Bozulmuş olanın yerine, yeni bir .htaccess dosyasını nasıl oluşturacağımızı ve PHP bellek limitlerini geçip geçmediğinizi nasıl test edebileceğimizi öğreneceğiz.
Yeni bir .htaccess dosyası oluşturmak
FileZilla yada favori FTP istemci programınız üzerinden WordPress kök dizininizi açın. Bu dizin, genel olarak httpdocs olarak adlandırılır. Eğer wp-admin ve wp-content adlı klasörleri görüyorsanız, doğru yerdesiniz. Eğer .htaccess dosyasını veya başında nokta olan herhangi bir dosyayı görmüyorsanız, Server’a (Sunucu) tıklayıp Force Showing Hidden Files (Gizli Dosyaları Göster) seçeneğini seçerek, gizli dosyaları görüntülenebilir hale getirin.
.htaccess dosyasını bulduktan sonra sağ tıklayarak “.htaccess.bak” olarak yeniden adlandırın. Bu işlem sitenizin .htaccess dosyasını siler, bu yüzden yeni bir tane oluşturmanız gerekir. WordPress yönetici alanına girin. Settings (Ayarlar) üzerine gelin ve Permalinks’i seçin. Sayfanın altına gidin ve Save Changes(Değişiklikleri Kaydet) ‘i tıklatın.
Web tarayıcınızdan web sitenizi açın. 500 Internal Server hatası gitmiş ise, probleminiz bozulan bir .htaccess dosyasından kaynaklanmış ve çözülmüştür. Eğer hala aynı hatayı görüyorsanız, diğer önerileri de test etmeniz gerekiyor.
Yanlış adlandırılmış bir .htaccess dosyasının da bu hataya neden olabildiğini hatırlatmakta fayda var. Dosya adının “.htaccess” den başka bir şey olmadığından emin olun.
WordPress Üzeriden PHP Hafıza Limitinin Artırılması
PHP bellek sınırları hosting sağlayıcınızdan ve WordPress tarafından ayarlanır. Bellek limitini aşmaya başladığınızda WordPress bu limit değerini arttırmayı deneyecektir, fakat sadece hosting hizmet sağlayıcınızın belirlediği limite kadar arttırabilir. Genellikle bu limit paylaşımlı hosting planları için düşüktür. 500 internal server error hatasına, bu hafıza probleminin neden olup olmadığını test etmek için WordPress içerisinden PHP hafıza limitini arttırdıktan sonra sitenizi kontrol etmeniz gerekiyor.
Kök dizini açın ve wp-config.php dosyasını bulun. Dosyayı sağ tıklayın ve bilgisayarınıza indirmek için Download seçeneğini seçin. Dosyayı tercih ettiğiniz metin editörü ile açın ve aşağıdaki kodu PHP açma tagından sonraki alana yapıştırın.
define(‘WP_MEMORY_LIMIT’, ’64M’);
Dosyayı kaydedin ve orijinal dosyanın üzerine yazarak, kök dizinine yeniden yükleyin. FTP istemcisini ve sitenizi yenileyin. Eğer hala hatayı görüyorsanız, PHP hafıza limit problemi yaşamıyorsunuz demektir. Bilgisayarınızdaki wp-config.php dosyasından yukarıdaki kodu kaldırıp kaydedin ve kök dizinine yeniden yükleyin. Hata kaybolduysa fazla heyecanlanmayın. Hala yapacak işlerimiz var.
Wp-config.php dosyasından sitenizin PHP bellek limitini artırılması çürük yumurta gibi kokan mutfak lavabosuna çamaşır suyu dökmeye benzer. Kokuyu gidermek için oldukça iyi bir yöntem olabilir, ama lavabonun borularındaki muhtemel tıkanıklık problemini gidermiyor.
Sitenizin PHP bellek limitini arttırma işlemi içinde aynısı geçerlidir. Limitinizi dosya üzerinden arttırmış olabilirsiniz, ancak bir şey hala limitlerinizi zorluyordur. Önümüzdeki birkaç adımı takip ederek, problemin ne olduğunu bulmayı deneyebilirsiniz, ama gitgide kötüleşirse, hosting hizmet sağlayıcınızı limitlerinizi arttırması konusunda talep etmelisiniz. IHS Telekom hosting kullanıcıları talep oluşturmaları durumunda limitini maximum seviyeye çıkartabilirler.
500 Internal Server Hatası İçin Daha Az Sıklıkta Kullanılan Çözümler
Bozuk bir .htaccess dosyasını düzeltmek ve PHP bellek limitini arttırmak, bu problemin çözümünde en çok başarıya ulaşan yöntemlerdir, ama bunlar size çözüm sağlamadı ise başka yöntemler de bulunmaktadır.
Diğer çözümler aşağıdaki gibidir:
• Hatalı eklentileri tespit etmek için, eklentileri devre dışı bırakmak,
• Problemin, debug edilerek bulunması,
• Dosya ve klasörlerin doğru yetkilere sahip olduğunu kontrol etmek, ( Kullanıcı İzin Hakları )
• Yeni wp-content ve wp-includes klasörlerini sitenize yüklemek,
• Hosting servisi aldığınız firmaya, bu problemin serverdan kaynaklanıp kaynaklanmadığının sorulması.
Eklentilerin Devre Dışı Bırakılması
WordPress yönetici alanına ulaşabiliyor iseniz, eklentileri teker teker devre dışı bırakın. Her devre dışı bıraktığınız eklentiden sonra sitenizi kontrol ediniz. Eğer hata kaybolursa, büyük ihtimalle son kontrolünüzden önce devre dışı bıraktığınız eklenti problemin nedeni olabilir.
Eklentiyi silin ve eğer bu eklentinin işlevi siteniz için önemli ise işlev bakımından benzer bir eklenti bulun.
Eğer yerine koyacak bir eklenti bulamayacağınızı düşünüyorsanız, doğrudan eklentinin geliştiricisi ile iletişime geçiniz. Bunu doğrudan, WordPress.org üzerindeki eklenti destek forumu üzerinden yapabilirsiniz, ama biraz araştırma yaparak, bu eklentinin geliştiricilerinin belirttiği bir yerden iletişime geçmenizi tavsiye ederiz.
Eğer WordPress yönetici alanına erişemiyorsanız, FTP istemcisini açın. Kök dizini ve ardından wp-content klasörünü açın. Bu klasör Eklentiler, Temalar ve diğer klasörleri içerir.
Plugins klasörünün adını değiştirin. Örneğin “plugins.test” olarak yeniden adlandırın. Bu işlem sitenizdeki bütün eklentileri devre dışı bırakır. Web tarayıcısını yenileyerek sitenizi tekrar kontrol edin. Hata gitmiş ise, problemin kaynağı hatalı bir eklentidir. Eklentileri teker teker aktive edin, her aktivasyondan sonra tarayıcınızı yenileyerek, hatanın hangi eklentiden kaynaklandığını tespitedinin.
Daha sonra klasör adını tekrar “Plugins” olarak düzeltmeyi unutmayın.
WordPress Sitenizde Hata Ayıklamak
Eğer, sitenizdeki hataya neyin neden olduğunu bulmakta güçlük çekiyorsanız, WordPressin içinde gelen debuging özelliğini kullanmak isteyebilirsiniz. Sitenizin wp-config.php dosyasına bir parça kod ekleyerek hata ayıklama modunu aktif hale getirebilirsiniz. Bulunan hatalar klasör dizininizdeki bir dosyaya kaydedilir.
Eğer bir yazılım geliştirici iseniz, sitenizi debug etmeye başlayabilirsiniz. Ortalama bir site sahibi iseniz, göz ardı edilebilecek küçük bir hata ile, dikkatle yaklaşılması gereken önemli bir hata arasındaki farkı bilmek isteyebilirsiniz.
Normalde, canlı bir site üzerinde debug yapılması, site kaynak kodunun ziyaretçilere görünür hale getirebilir, buda hoş karşılanmaz. Ancak, bu 500 Internal Server hatasını tespit edebilecek tek şey olabilir.
Dosya İzinlerini Kontrol Etmek
Büyük ihtimal ile problemin kaynağı bu değildir, ama kontrol etmeye değer. WordPress dizininde, klasörler ve dosyalar için izinler 755 veya 644 olması gerekir. Bunların dışındaki izinler 500 internal server hatasına neden olabilir.
Bir FTP istemcisi üzerinden ana dizininizi açın. Ana dizininizde izinleri kolayca kontrol edebilmek için, FileZilla da dahil olmak üzere çoğu FTP istemcisinde, izinlerin gösterildiği bir kolon bulunur. Bu kolona bakarak, 755 ya da 644 dışında bir izin olmadığından emin olun.
Sitenize Yeni wp-admin ve wp-includes Klasörleri Yükleme
Bu adım son çare olmalıdır, ama yukardaki adımları denediyseniz ve hala probleminiz devam ediyor ise, denemeye değer. Backup almak için, sitenizin tüm dosya ve klasörlerini bilgisayarınıza indirerek, sitenizin bir yedeğini alın. Ardından WordPress sitesi üzerinden WordPress’in son versiyonunu indirin.
ZIP dosyasının içeriğini bir klasöre çıkarın. FTP istemcisi üzerinden sitenizin ana dizinini açın ve ZIP dosyasını açtığınız klasörün içerisindeki wp-admin ve wp-includes klasörlerini buraya upload edin. Çıkan diyalog penceresinden üzerine yaz seçeneğini tıklamayı unutmayın.
FTP istemcisini ve web tarayıcınızdaki sitenizi yenileyin. Eğer hata kayboldu ise, büyük olasılıkla bu probleme bir çekirdek dosyası neden oldu. Eğer hala hata devam ediyor ise, hosting hizmet sağlayıcınızın destek ekibi ile iletişime geçmekten başka seçeneğiniz kalmamış olabilir.
Hosting Firmanız İle iletişime Geçmek
Bu adımların herbirini denediniz fakat hala çözüm bulamadıysanız, hosting firmanızın bir çözümü olabilir. Sorunun sizden kaynaklanmadığına emin olmak için bu adımları uygulamak çok önemlidir.
Third-party eklentiler ve temalar nedeni ile bu hataların görülmesi oldukça yaygın olduğu için IHS Telekom destek mühendisleri bu tip problemleri anında tespit ederek çözümlenmesi için sizi bilgilendirmektedir.
Uyguladığınız bu adımları ve dosya sistemi üzerinde köşe bucak kontrol ettiğiniz noktaları ve 500 internal server error hatasına neden olacak bir neden bulamadığınızı, destek ekibine aktarmanız çok önemlidir.
Bir sorun olup olmadığını öğrenmek için, destek ekibinden server loglarını kontrol etmelerini isteyebilirsiniz.
Tasiyeler
500 Internal Server Error hatası her zaman kesin bir nedeni ve çözümü olmayan sinir bozucu bir konudur. Öğrendiğiniz gibi kontrol edilmesi gereken bir çok nokta vardır, umarız yazdığımız bu maddeler, bu durumu biraz daha az rahatsız edici hale getirmiştir.
Sonuç olarak, düzenli olarak yedekleme yaptığınıza, eklentilerinizi, temanızı ve WordPress kaynak dosyalarınızı update ederek güncel tuttuğunuzdan emin olun. Bu hatadan uzak durmanın en iyi yolu, tema geliştiricinize temanın yada bir güncellemenin, kullandığınız eklentiler ile uyumlu olup olmadığını ve .htaccess dosyasını bozma olasılığını sormaktır.
Son olarak, sitenizin büyüme durumuna göre hosting paketinizi yükselttiğinizden emin olun. Bu hata genel olarak küçük boyuttaki paylaşımlı hosting serverlarından kaynaklanmaktadır. O yüzden büyüyen sitenizi, kaldırabilecek kapasitedeki bir WordPress uyumlu hosting paketi tercih etmelisiniz.
Bu tip hatalar ile karşılaşmamak, ücretsiz destek ve ücretsiz taşıma ile %100 uyumlu WordPress hosting paketlerini incelemenizi tavsiye ederiz.
Hiç bu hatayla karşılaştınız mı? Yorum bölümünde deneyimlerinizi bizimle paylaşın!
15 yorumlar
Genelde sitelere pek yorum yapmam ama sayenizde bana göre büyük bir sorunu çok çabuk çözebildim.
Sağolun
Merhaba,
Değerli yorumunuz için teşekkür ederiz, sorununuzu makalemiz aracılığıyla çözmeniz bizi çok sevindirdi iyi günler.
Teşekkür ederim Değerli Admin, 43 yaşında bir öğretmen olarak sitenden çook faydalandım. Benim sorunum htaccess değildi. Dediklerini uyguladım . Gele gele Plugins klasörüne geldim ve orada kullandığım bir eklenti – broken link- sorunun ana kaynağını teşkil ediyormuş. Plugin.test diyerek değiştirip eklentileri devre dışı bıraktım. Şimdi tıkır tıkır çalışıyor. Biraz da temizlik yaptım. Rahatladım. Saolasın. Gerçekten işe yaradı. Çalışmalarında başarılar dilerim. Sevgi ve Saygılarımla.
Merhaba Ahmet bey,
Değerli yorumunuzu bizlerle paylaştığınız için teşekkür ederiz, yaşamamış olduğunuz problemi makalemiz aracılığıyla çözmeniz bizi çok sevindirdi.
İyi günler.
Bu yazı sayesinde sitemi düzeltebildim çok teşekkür ederim 🙂
elinize sağlık güzel yazı olmuş sorunum çözüldü tşkler
Bu sorunun en önemli nedenlerinden biri windows hosting kullanmaktır. eğer php kullanacaksanız sizin için en iyi seçenek linux hosting dir. eğer tek bir siteniz varsa hostinginizde hostingi hemen linux a çevirin. sorundan kökten kurtulun. yoksa her site yaptığınızda aynı sorunla karşılaşırsınız. Bu sorunu çözmek benim bir ayımı aldı. ben çektim siz çekmeyin 🙂
Merhaba
Dediğiniz tüm yöntemleri uyguladım. Tema,eklentileri pasifleştirdim. wp_admin ve wp_includes klasörünü attım. Httacces düzelttim. tüm herşeyi uyguladım. İşin ilginç yanı dizin altında wp2 klasörü oluşturup sıfırdan wordpress kurmayı denedim ve yine “500 interval error” .
Sunucu sahipleri isim vermek istemiyorum, bizimle alakalı değil diyor. Haklı olabilirler bişey diyemiyorum. Hata kayıtlarında yığınla Out of memory
hatasından sonra gece 2 gibi çalışan site (en son önceki gün saat 17 gibi içerik eklemiştim), şu şekilde hata veriyor :
PHP Fatal error: Interface ‘ArrayAccess’ not found in ../wp-includes/class-wp-hook.php on line 18
Ve tüm emekler heba oluyor. Veritabanı yedeğini aldım tek umudum o.
Yazınız için teşekkürler.
admin burda yazan herşeyi yaptım fakat olmadı wordpress kullanıyorum siteadı.net/wp-admin yazınca giriyor normal siteyi google ile tıklasam yine olmuyor ne yapmalıyım host ihs’den
Merhaba Recep bey,
Hızlı çözüm için IHS kontrol panelinize erişim sağlayarak destek talebi oluşturarak bilgi alabilirsiniz.
İyi günler.
“WordPress yönetici alanına girin. Settings (Ayarlar) üzerine gelin ve Permalinks’i seçin. Sayfanın altına gidin ve Save Changes(Değişiklikleri Kaydet) ‘i tıklatın.”
Bu kısımda WordPress yönetici alanından kastınız nedir acaba?
Merhaba,
websiteniz.com/wp-admin yönetim panelinize erişim sağladıktan sonra belirtilen işlemleri gerçekleştirebilirsiniz.
İyi günler.
Allah razı olsun valla ya çok teşekkür ederim.
ya abi işte bu iyilik değilde nedir çok ama çok teşekkür ederim bu gece rahat uyuyacam sayenizde
Ben de aynı hata ile karşılaştım.
-Hata nasıl oldu?
–Localde yaptığım çalışmayı hosting e attığımda .htaccess dosyasını değiştirmiş bulundum.
-Hata nasıl çözüldü?
— 2 kısmı değiştirdim.
# BEGIN WordPress
RewriteEngine On
RewriteBase / —–>BURASI
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] —–>BURASI
# END WordPress
Yazılan verilerin olduğu adresi ve kuralların olduğu adresi gösterir.