Merhaba TürkHackTeam Üyeleri.
Bu Konumda Sizlere HTTP 500 Internal Server Error Hatasının Ne Olduğunu Ve Nasıl Düzeltilebileceğini Anlatacağım.
Konu İçeriği
➤ HTTP 500 Hatası Nedir?
➤ HTTP 500 Hatası Türleri Nelerdir?
➤ HTTP 500 Hatası Nasıl Düzeltilir?
➤ HTTP 500 Hatasının SEO'ya Etkisi Nedir?
HTTP 500 Hatası Nedir?
Bir internet sitesini ziyaret ettiğinizde tarayıcınız bu sitenin yer aldığı sunucuya bir istek gönderir. Sunucu bu isteği alır, işler ve istenen kaynakları (PHP, HTML, CSS vb.) HTTP başlığı ile beraber geri gönderir. Burada yer alan durum kodu ise size isteğiniz ile ilgili durumu bildirir. 200 durum kodu her şeyin yolunda olduğunu gösterir ya da 500 hata kodu bir yerlerde problem olduğunu belirtir.
500, 501, 502, 503, 504 gibi birden çok 500 hata kodu bulunmaktadır ve hepsi birbirinden farklı noktalara işaret etmektedir.
HTTP 500 Hatası Türleri Nelerdir?
500 hata kodu genellikle kullanılan web sunucularına, işletim sistemlerine ve tarayıcılara bağlı olarak farklı şekillerde karşımıza çıkmaktadır. Ancak bu kodlar her ne kadar birbirinden çok farklı gözükse de hepsi aynı duruma işaret etmektedir. Aşağıda farklı 500 hata kodlarından en sık karşımıza çıkanları görebilirsiniz.
»500 Internal Server Error
»HTTP 500
»Internal Server Error
»HTTP 500 Internal Server Error
»500 Error
»HTTP Error 500
»500 Internal Server Error
»500 Internal Server Error. Sorry something went wrong.
»500. Thats an error. There was an error. Please try again later. Thats all we know.
»The website cannot display the page HTTP 500.
»Is currently unable to handle this request. HTTP ERROR 500.
Bunların dışında sadece beyaz boş bir sayfada ekrana gelebilmektedir. Bu genellikle Firefox ya da Safari gibi tarayıcılarda oldukça sık karşılaşılan bir durumdur. Büyük firmalar ya da çok fazla trafiğe sahip internet siteleri aynı zamanda kendi özel 500 hata ekranlarını da gösterebilmektedir.
Internet Information Services 7.0 (Windows) ve üzeri sunucularda 500 hatasının kaynağını gösterebilecek ek hata kodları bulunmaktadır. Bu gibi sunucularda aşağıdaki 500 hata kodları gösterilmektedir.
»500.0 Module or ISAPI error occurred.
»500.11 Application is shutting down on the web server.
»500.12 Application is busy restarting on the web server.
»500.13 Web server is too busy.
»500.15 Direct requests for global.asax are not allowed.
»500.19 Configuration data is invalid.
»500.21 Module not recognized.
»500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
»500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.
»500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.
»500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred.
»500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.
»500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.
»500.53 A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.
»500.100 Internal ASP error.
HTTP 500 Hatası Nasıl Düzeltilir?
Tipik olarak 500 hataları sunucunun kendisinden kaynaklanmaktadır ancak bazı durumlarda bu hatalar kullanıcıların bilgisayarından kaynaklı olarak da oluşabilmektedir. Kullanıcılar bilgisayarlarından yapacağı bazı ufak adımlar sonrasında siteye sağlıklı bir şekilde erişebilmektedir.
Sayfa Yenileme ve Tarayıcı Önbelleğini Temizleme
Sunucu Hata Kayıtlarını Kontrol Etme
Hata kodlarına bakarak HTTP 500 hatasının neden kaynaklandığını bulabilirsiniz. Bazı hostinglerde bu hata kodlarının yer aldığı araçlar bulunmayabilmektedir. Bu gibi durumlarda wp-config.php dosyasına aşağıda yer alan kod satırını ekledikten sonra hata günlüğü oluşturabilirsiniz.
Kod:
define( WP_DEBUG, true );
define( WP_DEBUG_LOG, true );
define( WP_DEBUG_DISPLAY, false );
Bu şekilde oluşturulan WordPress hata kodları /wp-content klasörü içerisinde debug.logs dosyasında yer almaktadır.
Bunun yan sıra Apache ve Nginx tartından oluşturulan hata kodlarını da gözden geçirmek site sahipleri ya da yöneticileri için hatanın nedenini öğrenme konusunda yardımcı olmaktadır.
Apache ya da Nginx hata dosyaları aşağıdaki dizinlerde bulunmaktadır.
Kod:
Apache: /var/log/apache2/error.log
Nginx: /var/log/nginx/error.log
500 hatasının PHPde meydana gelen bir hatadan ekrana gelmesi durumunda ise PHP hata raporlamasını kontrol etmek gerekmektedir. Bu hata raporuna ulaşmak için Google Chromeun geliştirici aracı olan DevToolsa aşağıdaki kodları girmek yeterli olmaktadır.
Kod:
ini_set(display_errors, 1);
ini_set(display_startup_errors, 1);
error_reporting(E_ALL);
Bu hata raporlamasını alabilmek için ayrıca display_errors = on komutunu da php.ini dosyasına eklemek gerekebilmektedir.
Veritabanı Bağlantısı Kontrol Etme
500 internet server hatası aynı zamanda veritabanı bağlantısında problem olduğunda da meydana gelebilmektedir. Tarayıcınıza bağlı olarak hataları farklı şekilde görebilirsiniz. Ancak bu hata genellikle tarayıcıda Error establishing a database connection hata mesajı ile ortaya çıkmaktadır. Sayfanın tamamı boştur çünkü bağlantı düzgün olmadığı için ekrana getirilebilecek herhangi bir veri yoktur. Bu durumda sadece sitenin anasayfasına değil aynı zamanda WordPress paneline de ulaşmak mümkün değildir.
Pluginleri ve Temaları Kontrol Etme
Üçüncü taraflara ait pluginler ya da temalar 500 hatalarının en sık karşılaşılan nedenlerinden bir tanesidir. Hatanın bunlardan kaynaklanıp kaynaklanmadığını anlamak için atılcak ilk adım tüm pluginleri inaktif hale getirmektir. Eğer WordPress yönetim paneline erişebiliyorsanız bunu Plugins menüsünden kolay bir şekilde yapabilirsiniz.
Eğer WordPress yönetim paneline erişemiyorsanız bunu cPanel ya da DirectAdmin gibi kontrol panelinin dosya yöneticisi üzerinden ya da FTP ile sunucuya bağlanarak yapmanız gerekmektedir. Plugin dosyasının adını değiştirerek onların WordPress tarafından erişilememesini sağlayabilirsiniz. Bu işlemi yaptıktan sonra HTTP 500 hata kodunun ortadan kalkması durumunda pluginleri tek tek aktifleştirerek ya da plugin klasörlerinin isimlerini tek tek değiştirerek hangisinin ataya neden olduğunu bulabilirsiniz. WordPressin, pluginlerin ve kullandığınız temanın güncel sürümünde olduğuna emin olun. Güncellenmelerin yapılmadığı takdirde bu hata ekrana gelebilmektedir.
WordPress Çekirdeğini Yeniden Kurmak
Bazı durumlarda WordPressin çekirdek dosyaları bozulabilmektedir. Bu durum özellikle uzun süredir yayında olan siteler için geçerli olmaktadır. WordPress çekirdeğini site içeriğini bozmadan yeniden kurma son derece basittir. Ancak bu işlemi yapmadan önce sitenizin yedeğini mutlaka almanız gerekmektedir. Sitenin içeriğine zarar vermeden WordPressin çekirdeğini yeniden kurmanın üç farklı yöntemi bulunmaktadır.
WordPress yönetim paneli üzerinden Başlangıç menüsü altında yer alan Güncellemeler kısmına girerek buradaki yeniden kur kısmına tıklayabilir ve WordPressin çekirdeğini yeniden kurabilirsiniz.
WordPress yönetim paneline erişemediğiniz durumlarda ise WordPress kurulum dosyasını indirdikten sonra FTP ile sunucuya bağlanarak WordPress içerisinde yer alan wp-content klasörü haricindeki tüm dosya ve klasörleri sunucudaki public_html klasörü altına gönderebilirsiniz. Burada önemli olan nokta gönderilen dosyaların sunucuda yer alan dosyaların üzerine yazılması gerektiğidir.
Ayrıca WP-CLI kullanarak da WordPressin çekirdeğini yeniden kurabilirsiniz. Bir komut satırı aracı olan WP-CLI ile aynı zamanda kullanıcıları, gönderileri, kategorileri ekleyip kaldırabilir, veritabanı içerisinde arama ve değişiklik yapabilirsiniz. WordPress çekirdeğini yeniden kurmak için aşağıdaki komutu WP-CLIa girmeniz yeterli olacaktır.
Kod:
wp core download skip-content force
Tüm dosyalara 644 (-rw-rr) ya da 640 izni vermek
Tüm klasörlere 755 (drwxr-xr-x) ya da 750 izni vermek
PHP Bellek limitini arttırmak
CGI/Perl betiğini kontrol etmek
HTTP 500 Hatasının SEO'ya Etkisi Nedir?
WordPressin bakımda olduğu durumlarda çıkan ve Googlea daha sonra tekrar kontrol et bilgisini veren 503 hatasının aksine 500 hatası hemen düzeltilmediği durumlarda SEO üzerinde olumsuz etkilere sahiptir. Kısa süreli durumlarda her ne kadar sitenin önbellekteki verileri sayesinde bir problem ortaya çıkmasa da uzun süreli durumlarda Google 500 hatasının site genelinde meydana geldiğini düşünmektedir. Bu durum da SEO sıralamasını olumsuz yönde etkilemektedir.
//Alıntıdır