500 internal Server Hatası ve Çözümü

Size ait hosting hizmeti kullanan bir web siteniz ve bloğunuz varsa karşılamış olabileceğiniz hatalardan biri HTTP 500 dahili sunucu hatasıdır. Diğer tabiri ile 500 internal server hatası diye biliniyor. Tabi ki başka web sitelerine girmek istediğiniz zamanda karşılaşmış olabilirsiniz. Bu WordPress siteleri de dahil genel olarak istemeyen ve panik olmanıza neden olan hatalardan biri. Benim başıma ilk defa hizmet verdiğim bir site üzerinde müşterinin istediği eklentiyi uyarılarıma rağmen kurmamı istemesi üzerine karşılaştım. Hizmet verdiğim site İHS firmasının hosting hizmetini kullanıyordu. Sitesine bilinen popüler Jetpack eklentisini kurmamı istedi. Ancak sonuç server hatası olarak karşımıza çıktı. Bende bu konu hakkında bu yazıyı yazma gereği duydum. Yazıma geçmeden önce hosting firmanızın kalitesi hakkında bir düşünün. Hatta işinize yarayabileceğini düşündüğüm Yerli En iyi Hosting Firması başlıklı yazımı okuyun derim. Şimdi konuya girelim.

Neden 500 internal Server Hatası İle Karşılaşırız?

Aslında bu hatanın tam olarak şu nedenden oluyor diyebileceğimiz bir noktası yok. Ancak en çok karşılaşılan durumları sizlere aktarabilirim. Bilinmesi gereken bir diğer nokta ise bu hatanın sadece WordPress alt yapısı kullanan sitelere özel olmadığıdır. Yani alt yapınız başka bir yazılımda olsa bu hatayı alabilirsiniz. WordPress açısından olaya bakacak olursak 500 internal server hatası genel olarak tema işlevleri veya eklenti nedenlerinden dolayı karşımıza çıkar. Karşılaştığım temel sorunlar ise bozuk .htaccess dosyasından kaynaklı veya PHP bellek sınırı ile alakalı sorunlardan kaynaklı olduğunu söyleyebilirim. Mesela girişte söz ettiğim konuda PHP bellek sınırı nedeniyle bu tür bir hata aldığımızı bulmuştum. Şimdi başlıklar halinde bu iki sorunu ele alalım ve çözüme kavuşturalım.

500 internal Server Hatası
500 internal Server Hatası

.htaccess Kaynaklı Server Hatasının Çözümü

500 internal server hatası nedenini kesinleştirmek için öncelikle hatalı .htaccess dosyasına sahip olup olmadığınıza bakmak olmalıdır. Bunun için .htaccess dosyanızı yeniden adlandırmanız gereklidir. Bunun için FTP ile sunucunuza bağlanmanız gereklidir. FTP ile bağlanmak için File Zilla programını kullanabilirsiniz.

Sunucunuza bağlandıktan sonra ise yapmanız gereken  .htaccess isimli dosyanızı .htaccess_eski veya .htaccess_old şeklinde değiştirmektir. İsim değişikliği sonrasında ise izlemeniz gereken yol;

WordPress Admin Paneli >> Ayarlar >> Kalıcı Bağlantı Ayarları

şeklinde olacaktır. Son sayfaya geldiniz zaman ise hiç bir değişiklik yapmadan sadece kaydet butonuna tıklamanız yeterli olacaktır. Bu işlem sonrasında ise WordPress otomatik olarak yeni bir .htaccess dosya oluşturacak. Bu aşamada sitenizi kontrol edin ve sorun çözüldüyse şanslısınız. Sorun hala devam ediyorsa sizde okumaya devam etmek zorundasınız demektir. Yani sonuç .htaccess dosyasından kaynaklı bir sorununuz yokmuş. 500 internal server hatası için bir başka neden PHP debugging etkinleştirme yoluyla tespit edilebilir. Şimdi ise buna bakalım.

PHP Debugging Etkinleştirme ve 500 internal Server Hatası Çözümü

Hatanın çözümünü ilk aşamada bulamadık. Şimdi ise WordPress sitemizdeki wp-config-php dosyasına kod ekleme yöntemi ile hatayı tespit etmeye çalışalım. Yine aynı şekilde File Zilla programını kullanarak dosyamızı bilgisayarımıza aktaralım. Yeri gelmişken File Zilla kullanımına “WordPress Yedek Alma ve Geri Yükleme” başlıklı yazımda değinmiştim. Bilmiyorsanız öncelikle bu yazımı okumanız işinize yarayacaktır.

Bilgisayarınıza aldığınız wp-config-php dosyasını açmak için Notepad++ programını indirmeniz yeterlidir. Programı yükledikten sonra wp-config-php dosyasının üzerine gelin ve birlikte aç seçeneği ile Notepad++ programı seçip dosyayı açın. Dosyayı açtıktan sonra aşağıdaki kodu dosyanızın içinde aramanız gereklidir. Bunun için Notepad++ açıkken CTRL + F yaparak arama ekranını açın veya tek tek bakın ve dosyayı bulun.

define('WP_DEBUG', false);

Bu kodu bulduğunuz zaman ise silin ve yerine hemen altta verdiğim kodları ekleyin.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

Sonrasında ise wp-config-php dosyasını tekrar sunucuya yükleyin. Şimdi sıra geldi kontrol etme aşamasına. 500 internal server hatası aldığınız sayfayı açın ve yenileyin. Bu aşamada ise eğer sorunun kaynağı PHP ise ekranınızda “PHP Notice” şeklinde sorunun kaynağını gösterecektir. 500 internal server hata nedenlerini gördükten sonra yapmanız gereken ise wp-config.php dosyanıza yukarıda eklediğiniz kodları silmek olmalıdır. Eğer bunu unutur veya yapmaz iseniz zamanla php dosya boyutunuz artacaktır. Bunun nedeni ise tüm hata bildirimleri bu kodlar varsa PHP dosyasının içinde toplanmasıdır. Sonun olarak bu siteniz için zararlı olacaktır.

Bir diğer yöntem ise memory limit arttırma yolu ile 500 internal server hatası çözülebilir. Bunun için bir başka yazımda bilgi vereceğim. Ancak bu sorunun çözümü için hosting hizmetini aldığınız firmadan limit arttırılmasını talep edebilirsiniz.

Eklenti Yükleme Sonucu Alınan 500 internal Server Hatası Çözümü

En çok karşılaşılan neden bu oluyor. Bazı eklentiler sitenizde etkin hale geçtiğinde server hatası almanıza neden olur. Bu sorunun çözümü ise bu sorunu çıkaran eklentiyi pasif hale getirmek oluyor. Admin paneline ulaşamayacağınız için tekrar FTP yolu ile sunucuya bağlanmanız gerekecek. Sonrasında ise site wp-content >> plugins  şeklinde takip edin. Eğer son eklediğiniz eklentiden kaynaklı olduğunu biliyorsanız, bu eklenti dosyalarının hepsini bilgisayarınıza aktarın ve sunucudan silin. Sonrasında normale dönecektir.

Bir başka sorun kaynağı ise bilmediğiniz eklenti olabilir. Bu durumda ise yapmamız gereken bütün eklentileri pasif hale getirmek ve tek tek etkinleştirerek hangisinde sıkıntı var görmek olacaktır. Bunun için ise plugins dosyasının ismini değiştirmemiz gerekli. Yine aynı şekilde File Zilla ile sunucunuza bağlanın ve wp-content >> plugins yolunu takip edin. Plugins dosyasına tıklayın ve harf yada rakam ekleyin. Mesela Plugins34 gibi. Sonrasında admin panelinize gelin. Bu kısımda karşınıza bir çok uyarı gelecek bunun nedeni dosya ismini değiştirmemizdir. Endişe etmeyin ve işlemlere devam edin.

WordPress admin panelinden eklentiler sayfanıza geldiniz zaman bütün eklentilerin pasif olduğunu göreceksiniz. Şimdi bu aşamada tek tek eklentileri etkinleştirin. Ancak şu şekilde yapılmalıdır.Önce eklentiyi etkinleştirin ve sonrasında sitenizin 500 internal server hatası verip vermediğini kontrol edin. Bu şekilde hangi eklenti sorunlu ise bulana kadar devam edin. Eklentiyi bulunca silin. Çok lazım olan bir eklenti ise yerine alternatiflerinden birini indirmeniz iyi olacaktır.

Yazımı beğendiyseniz sosyal medya hesaplarınızda paylaşabilirsiniz. Ayrıca beni Facebook, Twitter ve Instagram hesaplarımdan takip edebilirsiniz.

2 Comments

Sende Yorum Yap!

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.