WordPress Sitenizde 500 Dahili Sunucu Hatası Nasıl Düzeltilir
Yayınlanan: 2017-12-25Korkunç 500 dahili sunucu hatası. Her zaman en uygunsuz zamanda geliyor gibi görünüyor ve aniden WordPress sitenizi nasıl tekrar çevrimiçi hale getireceğinizi bulmak için uğraşıyorsunuz. Bize güvenin, hepimiz oradaydık. Görmüş olabileceğiniz gibi davranan diğer hatalar arasında, bir veritabanı bağlantısı kurarken korkutucu hata ve korkunç beyaz ölüm ekranı da yer alır. Ancak siteniz çöktüğü andan itibaren ziyaretçi ve müşteri kaybediyorsunuz. Markanız için kötü göründüğünden bahsetmiyorum bile.
Bugün 500 dahili sunucu hatasına dalacağız ve sitenizi hızlı bir şekilde tekrar çevrimiçi hale getirmenin bazı yollarında size yol göstereceğiz. Bu hataya neyin sebep olduğu ve gelecekte bunu önlemek için neler yapabileceğiniz hakkında aşağıdan daha fazlasını okuyun.
- 500 dahili sunucu hatası nedir?
- 500 dahili sunucu hatası nasıl düzeltilir
500 Dahili Sunucu Hatası (En Yaygın Nedenler):
WordPress'te 500 Dahili sunucu hatası birçok şeyden kaynaklanabilir. Bir tane yaşıyorsanız, aşağıdaki öğelerden birinin (veya daha fazlasının) soruna neden olma olasılığı yüksektir:
- Tarayıcı ön belleği.
- Yanlış veritabanı oturum açma kimlik bilgileri.
- Bozuk veritabanı.
- WordPress kurulumunuzdaki bozuk dosyalar.
- Veritabanı sunucunuzla ilgili sorunlar.
- Bozuk WordPress çekirdek dosyaları.
- Bozuk .htaccess dosyası ve PHP bellek sınırı.
- Üçüncü taraf eklentiler ve temalarla ilgili sorunlar.
- Üçüncü taraf eklentilerle PHP zaman aşımı veya ölümcül PHP hataları.
- Yanlış dosya ve klasör izinleri.
- Sunucunuzda Tükenmiş PHP bellek sınırı
- Bozuk veya bozuk .htaccess dosyası.
- CGI ve Perl betiğindeki hatalar.
500 Dahili Sunucu Hatasını Düzeltmek İçin Nihai Kılavuzumuza Göz Atın
500 Dahili Sunucu Hatası Nedir?
İnternet Mühendisliği Görev Gücü (IETF), 500 Dahili Sunucu Hatasını şu şekilde tanımlar:
500 (Dahili Sunucu Hatası) durum kodu, sunucunun, isteği yerine getirmesini engelleyen beklenmeyen bir koşulla karşılaştığını gösterir.
Bir web sitesini ziyaret ettiğinizde, tarayıcınız sitenin barındırıldığı sunucuya bir istek gönderir. Sunucu bu isteği alır, işler ve istenen kaynakları (PHP, HTML, CSS vb.) bir HTTP başlığıyla birlikte geri gönderir. HTTP, HTTP durum kodu dedikleri şeyi de içerir. Durum kodu, isteğin durumu hakkında sizi bilgilendirmenin bir yoludur. “Her şey yolunda” anlamına gelen 200 durum kodu veya bir şeylerin yanlış gittiği anlamına gelen 500 durum kodu olabilir.
Pek çok farklı türde 500 durum hata kodu vardır (500, 501, 502, 503, 504, vb.) ve hepsinin anlamı farklıdır. Bu durumda, bir 500 dahili sunucu hatası, sunucunun, isteği yerine getirmesini engelleyen beklenmeyen bir koşulla karşılaştığını gösterir (RFC 7231, bölüm 6.6.1).

500 Dahili Sunucu Hatası Varyasyonları
Çeşitli web sunucuları, işletim sistemleri ve tarayıcılar nedeniyle, bir 500 dahili sunucu hatası kendini birkaç farklı şekilde gösterebilir. Ama hepsi aynı şeyi iletiyor. Aşağıda, web'de görebileceğiniz birçok farklı varyasyondan yalnızca birkaçı verilmiştir:
- “500 Dahili Sunucu Hatası”
- "HTTP500"
- "İç Sunucu Hatası"
- “HTTP 500 – Dahili Sunucu Hatası”
- “500 Hatası”
- "HTTP Hatası 500"
- “500 – Dahili Sunucu Hatası”
- “500 Dahili Sunucu Hatası. Üzgünüm bir şeyler ters gitti."
- "500. Bu bir hata. Bir hata oluştu. Lütfen daha sonra tekrar deneyiniz. Tüm bildiğimiz bu."
- "Web sitesi, HTTP 500 sayfasını görüntüleyemiyor."
- "Şu anda bu isteği yerine getiremiyor. HTTP HATA 500."
Ayrıca, beraberindeki bu mesajı da görebilirsiniz:
Sunucu bir dahili hata veya yanlış yapılandırma ile karşılaştı ve isteğinizi tamamlayamadı. Lütfen sunucu yöneticisiyle [e-posta korumalı] iletişime geçin ve onları hatanın meydana geldiği zaman ve hataya neden olabilecek herhangi bir şey yapmış olabileceğiniz konusunda bilgilendirin. Bu hata hakkında daha fazla bilgi sunucu hata günlüğünde bulunabilir.

Diğer zamanlarda, sadece boş bir beyaz ekran görebilirsiniz. 500 dahili sunucu hatasıyla uğraşırken, bu aslında Firefox ve Safari gibi tarayıcılarda oldukça yaygındır.

Daha büyük markaların Airbnb'den alınan bu gibi kendi özel 500 dahili sunucu hata mesajları bile olabilir.

İşte benioku'daki insanlardan başka bir yaratıcı 500 sunucu hatası örneği.

Güçlü YouTube bile 500 dahili sunucu hatasına karşı güvende değil.

Bu bir IIS 7.0 (Windows) veya üzeriyse, 500 hatasının nedenini daha yakından göstermek için ek HTTP durum kodlarına sahiptirler:
- 500.0 – Modül veya ISAPI hatası oluştu.
- 500.11 – Uygulama web sunucusunda kapatılıyor.
- 500.12 – Uygulama web sunucusunda yeniden başlatılmakla meşgul.
- 500.13 – Web sunucusu çok meşgul.
- 500.15 – global.asax için doğrudan isteklere izin verilmez.
- 500.19 – Yapılandırma verileri geçersiz.
- 500.21 – Modül tanınmadı.
- 500.22 – Bir ASP.NET httpModules yapılandırması, Yönetilen İşlem Hattı modunda uygulanmaz.
- 500.23 – Bir ASP.NET httpHandlers yapılandırması, Yönetilen İşlem Hattı modunda uygulanmaz.
- 500.24 – Bir ASP.NET kimliğe bürünme yapılandırması, Yönetilen İşlem Hattı modunda uygulanmaz.
- 500.50 – RQ_BEGIN_REQUEST bildirim işleme sırasında bir yeniden yazma hatası oluştu. Bir yapılandırma veya gelen kural yürütme hatası oluştu.
- 500.51 – GL_PRE_BEGIN_REQUEST bildirim işleme sırasında bir yeniden yazma hatası oluştu. Genel bir yapılandırma veya genel kural yürütme hatası oluştu.
- 500.52 – RQ_SEND_RESPONSE bildirim işleme sırasında bir yeniden yazma hatası oluştu. Bir giden kural yürütme oluştu.
- 500.53 – RQ_RELEASE_REQUEST_STATE bildirim işleme sırasında bir yeniden yazma hatası oluştu. Giden kuralı yürütme hatası oluştu. Kural, çıktı kullanıcı önbelleği güncellenmeden önce yürütülecek şekilde yapılandırılır.
500.100 – Dahili ASP hatası.
500 Hatanın SEO'ya Etkisi
WordPress bakım modu için kullanılan ve Google'a daha sonra tekrar kontrol etmesini söyleyen 503 hatalarının aksine, 500 hatası hemen düzeltilmezse SEO üzerinde olumsuz bir etkiye sahip olabilir. Siteniz yalnızca 10 dakikalığına kapalıysa ve sürekli olarak birçok kez taranıyorsa, tarayıcı yalnızca sayfayı önbellekten teslim alacaktır. Veya Google, yedeklenmeden önce onu yeniden tarama şansı bile olmayabilir. Bu senaryoda, tamamen iyisin.
Bununla birlikte, site uzun bir süre boyunca (örneğin 6 saatten fazla) kapalıysa, Google 500 hatasını site düzeyinde ele alınması gereken bir sorun olarak görebilir. Bu , sıralamalarınızı etkileyebilir . 500 hatayı tekrarlamaktan endişe ediyorsanız, bunların neden başladığını anlamalısınız. Aşağıdaki çözümlerden bazıları yardımcı olabilir.
500 Dahili Sunucu Hatası Nasıl Düzeltilir
WordPress sitenizde 500 dahili sunucu hatası gördüğünüzde sorun gidermeye nereden başlamalısınız? Bazen nereden başlayacağınızı bile bilmiyor olabilirsiniz. Genellikle sunucunun kendisinde 500 hata vardır, ancak deneyimlerimize göre, bu hatalar iki şeyden kaynaklanır, ilki kullanıcı hatası (istemci tarafı sorunu) ve ikincisi sunucuda bir sorun olmasıdır. Bu yüzden her ikisine de biraz dalacağız.
Bu asla can sıkıcı değil pic.twitter.com/pPKxbkvI9K
— Dare Obasanjo (@Carnage4Life) 26 Eylül 2019
500 dahili sunucu hatasını düzeltmenin ve kısa sürede yeniden çalışmaya başlamanın bu yaygın nedenlerini ve yollarını inceleyin.
1. Sayfayı Yeniden Yüklemeyi Deneyin
Bu bazıları için biraz açık görünebilir, ancak 500 dahili sunucu hatasıyla karşılaştığınızda denemeniz gereken en kolay ve ilk şeylerden biri, bir dakika kadar bekleyip sayfayı yeniden yüklemektir (F5 veya Ctrl + F5). Ana bilgisayar veya sunucu aşırı yüklenmiş olabilir ve site hemen geri gelebilir. Beklerken, bunu bir sorun olarak ekarte etmek için hızlı bir şekilde farklı bir tarayıcı deneyebilirsiniz.
Yapabileceğiniz başka bir şey de web sitesini downforeveroneorjustme.com'a yapıştırmaktır. Bu web sitesi, sitenin kapalı olup olmadığını veya sizin açınızdan bir sorun olup olmadığını size söyleyecektir. Bunun gibi bir araç, sunucudan döndürülen HTTP durum kodunu kontrol eder. 200 "Her şey yolunda" dışında bir şeyse, aşağı bir gösterge verecektir.
Ayrıca, bunun bazen WordPress sitenizdeki bir eklentiyi veya temayı güncelledikten hemen sonra olabileceğini de fark ettik. Genellikle bu, doğru şekilde kurulmamış ana bilgisayarlarda olur. Olan şey, hemen ardından geçici bir zaman aşımı yaşarlar. Ancak, işler genellikle birkaç saniye içinde kendiliğinden çözülür ve bu nedenle yapmanız gereken tek şey yenilemektir.
2. Tarayıcı Önbelleğinizi Temizleyin
Tarayıcı önbelleğinizi temizlemek, sitenizde daha derin hata ayıklamaya dalmadan önce her zaman iyi bir sorun giderme adımıdır. Aşağıda, çeşitli tarayıcılarda önbelleğin nasıl temizleneceğine ilişkin talimatlar verilmiştir:
- Tüm Tarayıcılar İçin Tek Bir Sayfayı Yenilemeye Zorlama
- Google Chrome için Tarayıcı Önbelleği Nasıl Temizlenir
- Mozilla Firefox için Tarayıcı Önbelleği Nasıl Temizlenir
- Safari için Tarayıcı Önbelleği Nasıl Temizlenir
- Internet Explorer için Tarayıcı Önbelleği Nasıl Temizlenir
- Microsoft Edge için Tarayıcı Önbelleği Nasıl Temizlenir
- Opera için Tarayıcı Önbelleği Nasıl Temizlenir
3. Sunucu Günlüklerinizi Kontrol Edin
Ayrıca hata günlüklerinizden de yararlanmalısınız. Bir Kinsta müşterisiyseniz, MyKinsta panosundaki günlük görüntüleyicide hataları kolayca görebilirsiniz. Bu, özellikle sitenizdeki bir eklentiden kaynaklanıyorsa, sorunu hızla daraltmanıza yardımcı olabilir.

Ana makinenizin bir günlük kaydı aracı yoksa, günlük kaydını etkinleştirmek için wp-config.php dosyanıza aşağıdaki kodu ekleyerek WordPress hata ayıklama modunu da etkinleştirebilirsiniz:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Günlükler genellikle /wp-content dizininde bulunur. Diğerleri, burada Kinsta'da olduğu gibi, "günlükler" adlı özel bir klasöre sahip olabilir.

Ayrıca, genellikle burada bulunan Apache ve Nginx'teki günlük dosyalarını da kontrol edebilirsiniz:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
Bir Kinsta müşterisiyseniz, toplam 500 hata sayısının dökümünü almak ve bunların ne sıklıkta ve ne zaman meydana geldiğini görmek için analitik aracımızdan da yararlanabilirsiniz. Bu, devam eden bir sorunsa veya belki de kendi kendine çözülmüş bir sorunsa sorunu gidermenize yardımcı olabilir.

Güçlü, merkezi MyKinsta kontrol panelinizin günlük görüntüleyicisindeki hataları kolayca belirleyin ve çözün. Kinsta'yı Ücretsiz Deneyin.
500 hatası, ölümcül bir PHP hatası nedeniyle görüntüleniyorsa, PHP hata raporlamasını etkinleştirmeyi de deneyebilirsiniz. Hatayı atan dosyaya aşağıdaki kodu eklemeniz yeterlidir. Genellikle dosyayı Google Chrome DevTools'un konsol sekmesinde daraltabilirsiniz.
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
Ayrıca php.ini dosyanızı aşağıdakilerle değiştirmeniz gerekebilir:
display_errors = on
4. Veritabanı Bağlantısı Kurma Hatası
Bir veritabanı bağlantı hatasından da 500 dahili sunucu hatası oluşabilir. Tarayıcınıza bağlı olarak farklı hatalar görebilirsiniz. Ancak her ikisi de sunucu günlüklerinizden bağımsız olarak 500 HTTP durum kodu oluşturur .
Aşağıda, tarayıcınızda bir "veritabanı bağlantısı kurarken hata" mesajının nasıl göründüğüne dair bir örnek verilmiştir. Bağlantı düzgün çalışmadığından, sayfayı oluşturmak için hiçbir veri alınamadığından tüm sayfa boş. Bu yalnızca sitenizin ön ucunu bozmakla kalmaz, aynı zamanda WordPress panonuza erişmenizi de engeller.

Peki bu tam olarak neden oluyor? Pekala, işte aşağıda birkaç yaygın neden var.
- En yaygın sorun, veritabanı oturum açma kimlik bilgilerinizin yanlış olmasıdır. WordPress siteniz, MySQL veritabanına bağlanmak için ayrı oturum açma bilgileri kullanır.
- WordPress veritabanınız bozuk. Temalı çok sayıda hareketli parça, eklentiler ve bunları sürekli silip yükleyen kullanıcılarla, bazen veritabanları bozulur. Bunun nedeni, eksik veya tek tek bozulmuş bir tablo olabilir veya bazı bilgiler yanlışlıkla silinmiş olabilir.
- WordPress kurulumunuzda bozuk dosyalarınız olabilir. Bu, bazen bilgisayar korsanları nedeniyle bile olabilir.
- Veritabanı sunucunuzla ilgili sorunlar. Bir trafik artışından dolayı veritabanının aşırı yüklenmesi veya çok sayıda eşzamanlı bağlantıdan yanıt vermemesi gibi web ana bilgisayarları tarafında bir takım şeyler yanlış olabilir. Aynı sunucularda birçok kullanıcı için aynı kaynakları kullandıklarından, bu aslında paylaşılan ana bilgisayarlarda oldukça yaygındır.
WordPress'te bir veritabanı bağlantısı kurarken hatanın nasıl düzeltileceğine dair ayrıntılı yazımıza göz atın.

5. Eklentilerinizi ve Temalarınızı Kontrol Edin
Üçüncü taraf eklentiler ve temalar kolayca 500 dahili sunucu hatasına neden olabilir. Kaydırıcı eklentilerinden reklam döndürücü eklentilerine kadar her türün Kinsta'da bunlara neden olduğunu gördük . Çoğu zaman, yeni bir şey yükledikten veya bir güncelleme çalıştırdıktan hemen sonra hatayı görmelisiniz. Bu, güncellemeler için her zaman bir hazırlama ortamı kullanmanızı veya en azından güncellemeleri tek tek çalıştırmanızı önermemizin bir nedenidir. Aksi takdirde, bir 500 dahili sunucu hatasıyla karşılaşırsanız, birdenbire buna hangisinin neden olduğunu bulmaya çalışırsınız.
Bunu gidermenin birkaç yolu, tüm eklentilerinizi devre dışı bırakmaktır. Bir eklentiyi devre dışı bırakırsanız herhangi bir veri kaybetmeyeceğinizi unutmayın. Yöneticinize hâlâ erişebiliyorsanız, bunu yapmanın hızlı bir yolu "Eklentiler"e göz atmak ve toplu işlemler menüsünden "Devre Dışı Bırak"ı seçmektir. Bu, tüm eklentilerinizi devre dışı bırakacaktır.

Bu sorunu çözerse, suçluyu bulmanız gerekir. Her aktivasyondan sonra siteyi yeniden yükleyerek bunları tek tek etkinleştirmeye başlayın. 500 dahili sunucu hata dönüşünü gördüğünüzde, hatalı çalışan eklentiyi bulmuşsunuzdur. Daha sonra yardım için eklenti geliştiricisine ulaşabilir veya WordPress deposuna bir destek bileti gönderebilirsiniz.
WordPress admin'de oturum açamıyorsanız, sunucunuza FTP gönderebilir ve plugins klasörünüzü plugins_old gibi bir adla yeniden adlandırabilirsiniz. Ardından sitenizi tekrar kontrol edin. Çalışırsa, her eklentiyi tek tek test etmeniz gerekecektir. Eklenti klasörünüzü yeniden "eklentiler" olarak yeniden adlandırın ve ardından içindeki her bir eklenti klasörünü bulana kadar tek tek yeniden adlandırın. Bunu önce bir hazırlama sitesinde de çoğaltmayı deneyebilirsiniz.

Eklentilerinizin, temalarınızın ve WordPress çekirdeğinizin her zaman güncel olduğundan emin olur. Ve desteklenen bir PHP sürümünü çalıştırdığınızdan emin olmak için kontrol edin. Bir eklentideki hatalı kodla çakışma olduğu ortaya çıkarsa, sorunu çözmek için bir WordPress geliştiricisi getirmeniz gerekebilir.
6. WordPress Core'u Yeniden Yükleyin
Bazen WordPress çekirdek dosyaları, özellikle eski sitelerde bozulabilir. Eklentilerinizi veya temalarınızı etkilemeden WordPress'in yalnızca özünü yeniden yüklemek aslında oldukça kolaydır. WordPress'i yeniden yüklemenin 5 farklı yolunu içeren ayrıntılı bir kılavuzumuz var. Ve elbette, devam etmeden önce bir yedek aldığınızdan emin olun. Aşağıdaki bölümlerden birine atlayın:
- Mevcut içeriği korurken WordPress panosundan WordPress nasıl yeniden yüklenir
- Mevcut içeriği korurken WordPress'i FTP üzerinden manuel olarak nasıl yeniden yükleyebilirim?
- Mevcut içeriği korurken WordPress WP-CLI aracılığıyla manuel olarak nasıl yeniden yüklenir
7. İzin Hatası
Sunucunuzdaki bir dosya veya klasörle ilgili bir izin hatası da 500 dahili sunucu hatasının oluşmasına neden olabilir. WordPress'te dosya ve klasör izinleri söz konusu olduğunda izinler için bazı tipik öneriler:
- Tüm dosyalar 644 (-rw-r–r–) veya 640 olmalıdır.
- Tüm dizinler 755 (drwxr-xr-x) veya 750 olmalıdır.
- Hiçbir dizine asla 777 verilmemelidir, hatta dizinleri yükleyin.
- Sertleştirme: wp-config.php, sunucudaki diğer kullanıcıların okumasını önlemek için 440 veya 400 olarak da ayarlanabilir.
Daha ayrıntılı bir açıklama için dosya izinlerini değiştirmeyle ilgili WordPress Codex makalesine bakın.
Bir FTP istemcisi ile dosya izinlerinizi kolayca görebilirsiniz (aşağıda görüldüğü gibi). Ayrıca, WordPress ana bilgisayar destek ekibinize ulaşabilir ve doğru şekilde kurulduklarından emin olmak için klasörleriniz ve dosyalarınızdaki GREP dosya izinlerini hızlı bir şekilde isteyebilirsiniz.

8. PHP Bellek Sınırı
500 dahili sunucu hatası, sunucunuzdaki PHP bellek sınırının tüketilmesinden de kaynaklanabilir. Limiti artırmayı deneyebilirsiniz. Bu sınırı cPanel, Apache, php.ini dosyanız ve wp-config.php
dosyasında nasıl değiştireceğinizle ilgili aşağıdaki talimatları izleyin.
cPanel'de PHP Bellek Sınırını Artırın
cPanel kullanan bir ana bilgisayarda çalışıyorsanız, bunu kullanıcı arayüzünden kolayca değiştirebilirsiniz. Yazılım altında “PHP Sürümünü Seç” seçeneğine tıklayın.

“PHP Seçeneklerine Geç” seçeneğine tıklayın.

Ardından memory_limit
niteliğine tıklayıp değerini değiştirebilirsiniz. Ardından “Kaydet” e tıklayın.

Apache'de PHP Bellek Sınırını Artırın
.htaccess
dosyası, sunucu davranışını doğrudan dizine özgü bir düzeye kadar değiştirmek için kullanabileceğiniz çeşitli ayarları içeren özel bir gizli dosyadır. Önce FTP veya SSH ile sitenize giriş yapın, kök dizininize bakın ve orada bir .htaccess
dosyası olup olmadığına bakın.

Varsa, PHP bellek sınırını artırmak için gerekli kodu eklemek üzere o dosyayı düzenleyebilirsiniz. Büyük olasılıkla 64M veya altına ayarlanmıştır, bu değeri artırmayı deneyebilirsiniz.
php_value memory_limit 128M
php.ini Dosyasında PHP Bellek Limitini Artırın
Yukarıdakiler işe yaramazsa, php.ini
dosyanızı düzenlemeyi deneyebilirsiniz. FTP veya SSH ile sitenize giriş yapın, sitenizin kök dizinine gidin ve bir php.ini
dosyası açın veya oluşturun.

Dosya zaten oradaysa, üç ayarı arayın ve gerekirse değiştirin. Dosyayı yeni oluşturduysanız veya ayarlar hiçbir yerde bulunamadıysa aşağıdaki kodu yapıştırabilirsiniz. Elbette ihtiyaçlarınızı karşılamak için değerleri değiştirebilirsiniz.
memory_limit = 128M
Bazı paylaşılan ana bilgisayarlar, yukarıdaki php.ini
dosya ayarlarının çalışması için .htaccess
dosyanıza suPHP yönergesini eklemenizi de gerektirebilir. Bunu yapmak için, yine sitenizin kökünde bulunan .htaccess
dosyanızı düzenleyin ve dosyanın en üstüne aşağıdaki kodu ekleyin:
<IfModule mod_suphp.c> suPHP_ConfigPath /home/yourusername/public_html </IfModule>
Yukarıdakiler sizin için işe yaramadıysa, ana makinenizin genel ayarları kilitlenmiş ve bunun yerine .user.ini
dosyalarını kullanacak şekilde yapılandırılmış olabilir. .user.ini
dosyanızı düzenlemek için FTP veya SSH ile sitenize giriş yapın, sitenizin kök dizinine gidin ve bir .user.ini
dosyası açın veya oluşturun. Daha sonra aşağıdaki kodu yapıştırabilirsiniz:
memory_limit = 128M
wp-config.php içinde PHP Bellek Sınırını artırın
Son seçenek, bizim hayran olduğumuz bir seçenek değil, ancak her şey başarısız olursa, deneyebilirsin. Öncelikle FTP veya SSH ile sitenize giriş yapın ve genellikle sitenizin kök dizininde bulunan wp-config.php dosyanızı bulun.

wp-config.php
dosyanızın en üstüne aşağıdaki kodu ekleyin:
define('WP_MEMORY_LIMIT', '128M');
Ayrıca, bellek sınırı sorunlarıyla karşılaşıp karşılaşmadığınızı sunucunuza sorabilirsiniz. Kinsta'da Kinsta'da Kinsta APM aracını ve diğer sorun giderme yöntemlerini kullanarak müşterilerin hangi eklentinin, sorgunun veya komut dosyasının limiti tüketebileceğini daraltmasına yardımcı oluyoruz. Kendi lisansınızdan kendi özel New Relic anahtarınızı da kullanabilirsiniz.

9. .htaccess Dosyanızla İlgili Sorun
Kinsta yalnızca Nginx kullanır, ancak Apache çalıştıran bir WordPress ana bilgisayarı kullanıyorsanız, .htaccess
dosyanızda bir sorun olabilir veya bozulmuş olabilir. Sıfırdan yeni bir tane oluşturmak için aşağıdaki adımları izleyin.
Öncelikle FTP veya SSH üzerinden sitenize giriş yapın ve .htaccess
dosyanızı .htaccess_old
olarak yeniden adlandırın.

Normalde bu dosyayı yeniden oluşturmak için kalıcı bağlantılarınızı WordPress'e yeniden kaydedebilirsiniz. Ancak, 500 dahili sunucu hatasının ortasındaysanız, büyük olasılıkla WordPress yöneticinize erişemezsiniz, bu nedenle bu bir seçenek değildir. Bu nedenle yeni bir .htaccess
dosyası oluşturabilir ve aşağıdaki içerikleri girebilirsiniz. Ardından sunucunuza yükleyin.
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Çoklu site için varsayılan .htaccess
dosyası gibi daha fazla örnek için WordPress Kodeksine bakın.
10. CGI/Perl Komut Dosyanızdaki Kodlama veya Sözdizimi Hataları
CGI ve Perl'deki hatalardan kaynaklanan 500 hata, eskisinden çok daha az yaygındır. Yine de bahsetmeye değer olsa da, özellikle hala çok sayıda tek tıklamalı CGI betiğinin kullanıldığı cPanel kullananlar için. AEM on Stack Overflow'un dediği gibi:
CGI'nın yerini PHP, mod_perl gibi çeşitli Apache uzantıları, Java EE, Struts, Spring, vb. dahil olmak üzere çeşitli tatlar ve çerçeveler, Django, Ruby on Rails gibi Python tabanlı çerçeveler ve diğerleri gibi çok çeşitli web programlama teknolojileri almıştır. diğer Ruby çerçeveleri ve çeşitli Microsoft teknolojileri.
İşte CGI betikleri ile çalışırken birkaç ipucu:
- Düzenleme yaparken her zaman Atom, Sublime veya Notepad++ gibi bir düz metin düzenleyici kullanın. Bu, ASCII biçiminde kalmalarını sağlar.
- CGI betiklerinde ve dizinlerinde chmod 755'in doğru izinlerinin kullanıldığından emin olun.
- CGI komut dosyalarınızı ASCII modunda (FTP düzenleyicinizde seçebileceğiniz) sunucunuzdaki cgi-bin dizinine yükleyin.
- Komut dosyanız için ihtiyaç duyduğunuz Perl modüllerinin kurulu olduğunu ve desteklendiğini doğrulayın.
Güçlü, merkezi MyKinsta kontrol panelinizin günlük görüntüleyicisindeki hataları kolayca belirleyin ve çözün. Kinsta'yı Ücretsiz Deneyin.
11. Sunucu Sorunu (Barındırıcınızla Kontrol Edin)
Son olarak, PHP zaman aşımından veya üçüncü taraf eklentilerdeki ölümcül PHP hatalarından da 500 dahili sunucu hatası oluşabileceğinden, her zaman WordPress sunucunuzla kontrol edebilirsiniz. Bazen bu hataların bir uzman olmadan giderilmesi zor olabilir. Burada, sunucuda kafanızı karıştırabilecek 500 HTTP durum kodunu tetikleyen bazı yaygın hatalara ilişkin birkaç örnek verilmiştir.
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525
Kinsta'daki tüm müşteri sitelerini izliyoruz ve bu tür hatalar oluştuğunda otomatik olarak bilgilendiriliyoruz . Bu, proaktif olmamızı ve sorunu hemen çözmeye başlamamızı sağlar. Ayrıca her site için LXD tarafından yönetilen ana bilgisayarları ve orkestrasyonlu LXC yazılım kapsayıcılarını kullanırız. Bu, her WordPress sitesinin, onu çalıştırmak için gereken tüm yazılım kaynaklarına (Linux, Nginx, PHP, MySQL) sahip kendi yalıtılmış kapsayıcısında barındırıldığı anlamına gelir. Kaynaklar %100 özeldir ve başkalarıyla ve hatta kendi sitelerinizle paylaşılmaz.
PHP zaman aşımları , PHP çalışanlarının eksikliğinden de kaynaklanabilir, ancak bunlar genellikle 500 değil 504 hataya neden olur. Bunlar, sitenizin belirli bir zamanda kaç eşzamanlı isteği işleyebileceğini belirler. Basitçe söylemek gerekirse, web siteniz için önbelleğe alınmamış her istek bir PHP Worker tarafından işlenir.
PHP çalışanları bir sitede zaten meşgul olduğunda, bir kuyruk oluşturmaya başlarlar. PHP çalışanı sınırınıza ulaştığınızda, sıra, 500 hata veya eksik istekle sonuçlanabilecek eski istekleri göndermeye başlar. PHP çalışanları hakkında ayrıntılı makalemizi okuyun.
Sitenizi İzleyin
Gelecekte sitenizde bu tür hataların olacağından endişeleniyorsanız, updown.io gibi bir araçtan faydalanarak bu tür hataları takip edip anında size haber verebilirsiniz. Seçtiğiniz URL'ye periyodik olarak bir HTTP HEAD isteği gönderir. Sadece ana sayfanızı kullanabilirsiniz. Araç, aşağıdakilerin kontrol frekanslarını ayarlamanıza olanak tanır:
- 15 saniye
- 30 saniye
- 1 dakika
- 2 dakika
- 5 dakika
- 10 dakika
Siteniz çöktüğünde size bir e-posta gönderir. İşte aşağıda bir örnek.
Bu, özellikle hatalı bir eklentide hata ayıklamaya çalışıyorsanız veya sunucularını aşırı doldurma eğiliminde olan paylaşılan bir ana bilgisayardaysanız yararlı olabilir. Bu size sitenizin gerçekte ne sıklıkta çökmekte olduğunun kanıtı olabilir (gece yarısı bile). Bu nedenle, her zaman yönetilen bir WordPress ana bilgisayarıyla gitmenizi öneririz. Yönetilen WordPress barındırmayı seçmek için en önemli 9 nedeni araştıran yayınımıza göz attığınızdan emin olun.
Özet
500 dahili sunucu hatası her zaman can sıkıcıdır, ancak umarım artık sitenizi hızlı bir şekilde tekrar çalışır duruma getirmek için bu sorunları gidermenin birkaç ek yolunu biliyorsunuzdur. Unutmayın, bu tür hatalara genellikle üçüncü taraf eklentiler, ölümcül PHP hataları, veritabanı bağlantı sorunları, .htaccess dosyanızla ilgili sorunlar veya PHP bellek sınırları ve bazen PHP zaman aşımları neden olur.
Kaçırdığımız bir şey var mıydı? Belki de 500 dahili sunucu hatasını gidermek için başka bir ipucunuz var. Eğer öyleyse, yorumlarda aşağıda bize bildirin.