FatihGirgiç

WordPress Beyaz Sayfa Sorunu ve Çözümü

WordPress Beyaz Sayfa Sorunu ve Çözümü

Uzun süredir wordpressle içli dışlı olanlar wordpress beyaz ekran hatası ile en az bir kez karşılaşmıştır. Windows’ta mavi ekran hatasının yeğeni olabilir benim gözümde. Beyaz ekran hatasıyla karşılaştığınızda hiç bir hata mesajı almamanızdan bu hatayla karşı karşıya olduğunuzu anlayabilirsiniz.

Beyaz ekran hatası oldukça sinir bozucu bir hata olmakla birlikte uğraştıkça olmayan bir düzene de sahip olabilmektedir. WordPress beyaz ekran sorununun en kötü tarafı ise sitenin belirli bölgelerde ortaya çıkıp görülmesidir bence. Örneğin uzun zamandır girmediğiniz bir makalenize giriyorsunuz ve bomboş beyaz bir ekranla karşı karşıya kalıyorsunuz. Genellikle wordpress beyaz ekran sorunu ile karşılaşan kullanıcılar host firmalarına başvuru yapıyorlar. Host firmasının yanıtını beklemek soru-cevap kısmını beklemek yerine bu wordpress beyaz sayfa hatasını kendiniz çok kısa süre içerisinde çözebilirsiniz.

Öncelikle wordpress sitenizin yedeğini alalım ki bazı şeyleri bozarsak telafisi olsun 🙂 Nasıl Yedek alınacağını bir sonraki yazımda yazıcam.

  • WordPress Beyaz Ekran Hatasının Sebebi Nedir, Nelerdir?

WordPress Beyaz Ekran Hatası almanızın sebebi bellek limitinizi doldurmanız, kötü kodlanmış bir tema, eklentilerinizden biri ve ya bir kaçının düzgün çalışmaması ya da hosting hizmetinizin bir sorunla karşılaşmış olması olabilir. Genel olarak wordpress beyaz ekran hataları nedeni bunlardır.

  • WordPress Beyaz sayfa Sorununun Sebebini Öğrenme

İlk yapmanız gereken sunucunuza girip public_html klasöründeki wp-config.php dosyasına aşağıda verdiğim kodu eklemeniz gerekmektedir. Ekledikten sonra beyaz ekran hatası aldığınız sayfaya giriş yapmayı deneyiniz.

error_reporting(E_ALL); ini_set(‘display_errors’, 1);
define( ‘WP_DEBUG’, true);

WordPress beyaz ekran nedenini bu sefer sayfanın üstünde görebilirsiniz. Şimdi beyaz ekran hatasının neden kaynaklandığını öğrendiğimize göre işlemlerimize başlayabiliriz. Eğer uzun makalelerinizde beyaz ekran sorunu  yaşıyorsanız cache temizlemek sorununuzu çözecektir. Ya da wp-config dosyanıza tekrardan aşağıdaki kodu yazmanız yeterli olacaktır.

/** neden bu kodu wp-config eklediğinizi unutmamak için buraya açıklama yazabilirsiniz.*/

ini_set(‘pcre.recursion_limit’,20000000);
ini_set(‘pcre.backtrack_limit’,10000000);

  • WordPress Memory  Limitini Arttırmak

Bazen yeni bir eklenti yüklerken yada güncellerken yada birtakım CPU canavarı eklentileri çalıştırken memory limit hatası alabilirsiniz. WordPress memory limit hatası genelde şuna benzer;

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /homeX/xxxxx/public_html/wp-includes/plugin.php on line xxx

Bu Hatayı almanızdaki sebep, sitenizin varsayılan olarak atanan hafıza kullanım limitini aşması. Memory limit arttırmayı anlatacağım.

Bellek Sınırının Ne Kadar Olduğunu Öğrenmek

Öncelikle yapmamız gereken internet sitenizin memory limit sınırının kaç mb olduğunu öğrenmek. Memory limit sınırını öğrenmek amacıyla en çok sarfedilen bu yöntemde;

Serverınızda view-php-info.php isminde yeni bir dosya oluşturun ve alttaki kodu oluşturduğunuz dosya içerisine ekleyin.

<?php phpinfo(); ?>

Yeni dosyanızı oluşturduktan sonra tarayıcınızdan oluşturduğunuz dosyanın url adresine yani, http://www.sizinsiteniz.com/view-php-info.php url adresine gidin.

Adrese gittiğiniz vakit karşınıza alttaki resimde gördüğünüz gibi uzun bir tablo çıkacaktır. Bu tablodan memory_limit seçeneğini aratın. Karşısında çıkan değer sitenizin güncel memory limitidir.


Memory Limit’ini öğrenmenin bide başka yoluda WP-Memory-Usage eklentisi kullanmak. Bu eklenti yalnızca memory limit sınırını göstermekle kalmaz aynı vakitte memory kullanımınızı ve kullandığınız php versiyonunu da gösterir.

Ne kadar Memory ( Belleğe) İhtiyacınız Var?

WordPress’in varsayılan olarak atadığı memory limit 32 mb ile sınırlıdır. Eğer çok çok eklenti kullanıyor ya da trafiğiniz yüksekse, sitenizin 64mb ya da üzeri memory limit tüketimine gereksinimi olabilir.

Eğer ne kadar hafıza tüketimine gereksinim duyduğunuzdan emin değilseniz WP-Memory-Usage eklentisini kullanmanızda yarar var. Eklentiyi kurup çalıştırdıktan sonra, Memory Usage sekmesine bakın. Eğer memory usage barı kırmızı ise memory limit sınırını arttırmanız gerekiyor demektir.

WordPress Memory Limit Nasıl Arttırılır

1-Memory Limit Arttırma Yöntem  (Config.php Dosyası Üzerinden)

Öncelikle FTP üzerinden WordPress sitenizin serverına bağlanın ve ana dizininde (root) yer alan wp-config.php dosyasını açın ve alttaki kodu içerisine ekleyin.

define(‘WP_MEMORY_LIMIT’, ’64M’);

Evet, memory limitimizi varsayılan olarak sarfedilen 32mb‘tan 64mb‘a çıkardık. Memory limit hatası bu prosedürü uyguladıktan sonra ortadan kalkacaktır.

2-Memory Limit Arttırma Yöntem (.htAccess Dosyası Üzerinden)

.htAccess doyasınıza FTP üzerinden yada cPanel üzerinden bağlanarak alttaki satırı .htAccess dosyanızın içerisine ekleyin.

php_value memory_limit 64M

.htAccess dosyasına bu satırı ekleyerek, varsayılan olarak atanan 32mb‘lık memory limit sınırlamasını 64mb‘a çıkarmış olduk.

3-Memory Limit Arttırma Yöntem (Php.Ini Dosyası Üzerinden)

Bir çok host firması kullanıcıları amacıyla php.ini dosyasına erişimi engeller ( bilhassa paylaşımlı hosting kullanıcılara ). Eğer php.ini dosyanıza erişim yetkiniz varsa alttaki yöntemide uygulayabilirsiniz.

Yukarıda anlattığım gibi serverınızda view-php-info.php isminde yeni bir dosya oluşturun ve bu sefer “Loaded Configuration File” seçeneğini aratın. Php.ini dosyanızın lokasyonunu buradan öğrenebilirsiniz.

Php-ini dosya lokasyonu
WordPress Php.ini Dosya Lokasyonunu Öğrenme
Php.ini dosyanızın lokasyonunu öğrendikten sonra dosyaya giriş yapın ve 32mb olan memory limit sınırlamasını 64mb yada 128mb yapın. Eğer php.ini sayfanızda memory_limit sekmesi yoksa sayfanın sonuna memory_limit = 64M; ibaresini ekleyin. Eklemeyi yaptıktan sonra kaydedin ve Apache serverınızı httpd restart emri ile yine başlatın.

Not: Eğer bu işlemleri yapmanıza karşın hala bu Hatayı alıyorsanız kesinlikle host firmanızla iletişime geçin.

  • WordPress Beyaz Ekran Sorunu Çözüm için Tüm eklentileri Etkinsizleştirmek

WordPress Beyaz Ekran Hatası, kötü yazımlımdan ve ya eklentilerin tema ile uyumsuzluğundan kaynaklı olabilmektedir. Hangi eklentinin wordpress beyaz ekran hatasına neden olduğunu bulmak için hepsini etkisizleştirmeniz gerekir. Peki admin paneline giremiyorsanız ve bir çok eklenti kullanıyorsanız bu iş sizi biraz zaman kaybıyla oyalabilir daha kolay bir yol olarak sunucunuza girip

wp-content/plugins

kalsörünün adını değiştirerek wordpressin eklentileri görmesini engelleyebilirsiniz. Ben genellikle -x koyuyorum bazı arkadaşlar rakam koyuyorlar sonuna unutmayacak şekilde kendinize göre bir yol belirleyebilirsiniz. Artık admin paneline giriş yapabilirsiniz. Fakat  “A plugin was deactivated because the file B.php can’t be found” hatası alacaksınız korkmanıza gerek yok eklentilerinizin hepsi etkinsizleştirildiği için böyle bir hata aldınız. Veri kaybı yaşamadınız yaşamayacaksınız.

Girş işleminin başarılı şekilde yaptıktan sonra yeniden adlandırdınığınız plugins-x klasörünü eski haline yani plugins olarak değiştirin. Eklentileriniz etkisizleştirilmiş şekilde admin panelinde olacaktır.

Teker teker aktifleştirip kontrol ederek hangi eklentinin wordpress beyaz ekran sorununa neden olduğunu öğrenebilirsiniz.

WordPress Admin Paneline Girmeden Eklentileri Etkisizleştirme

WordPress sitenizde beyaz ekran hatası yada 500 internal server hatası aldığınızda, bozukluğun kullandığınız bir eklentiden kaynaklanıp kaynaklanmadığını kavramak adına yapmanız gereken işlemlerden bir taneside eklentileri etkisizleştirerek hatanın hangi eklentiden kaynaklandığını bulmaktır.

Admin Paneli Üstünden Eklenti Etkisizleştirme

Eğer WordPress admin panelinize giriş yapabiliyorsanız, Admin paneli >> Eklentiler sekmesinden pasif duruma geçirmek dilediğiniz eklentiyi, eklenti adının derhal alt evresinde belirleme edilenan etkisizleştir düğmesini kullanarak rahatlıkla yapabilirsiniz.

Eğer admin panelinize ulaşamıyorsanız, eklenti etkisizleştirme prosedürünü FTP üzerinden yada MySQL üzerinden yapabilirsiniz.

FTP Üstünden Eklenti Etkisizleştirme

1- Öncelik ile FTP üzerinden sitenizin yüklü bulunduğu serverdaki dosyalarınıza ulaşın.
2- Daha sonra /wp-content/plugins/eklentiadı dosyasına tıklayın ve f2 tuşuna basın(ektisizleştirmek dilediğiniz eklenti adınız. Ben numune olarak eklentiadı dedim)
3- Eklenti dosyasının adına -disableb ekleyerek değiştirin. (eklenti – disabled)

FTP Üstünden eklenti etkisirsizleştirmek

Eklentinin isim değişikliğinden sonra tarayıcınızdan yine WordPress admin panelinize giriş gerçekleştirmeyi deneyin. Admin paneline giriş yaptıktan sonra alttaki resimde bulunduğu gibi bir hata alacaksınız. Merak etmeyin. WordPress’in hata vermesi eklentinin etkisirsizleştirme prosedürünü başarı ile tamamladığınızın bir göstergesidir.

WordPress Eklenti Etkisizleştirme Hatası

Her bir eklenti amacıyla bu prosedürü tek tek yaparsanız, sitenizdeki bozukluğun hangi eklentiden kaynakladığını belirleme edebilirsiniz.

Eklenti adını FTP üzerinden yine eski durumuna döndürdüğünüzde, eklenti otomatik olarak terar aktif duruma geçmez. Etkinleştirme prosedürünü, FTP üzerinden eklenti adını yine eski durumuna döndürdükten sonra Admin paneli >> Eklentiler sekmesinden yapmalısınız.

MySQL Üstünden eklenti etkisizleştirme

Bu teknik ilk anlattığım tekniğe nazaran daha basittir. Öncelik ile cPanel‘inize giriş yapın ve sonrasında alttaki resimde gördüğünüz gibi phpmyadmin‘e tıklayarak kurulu olan bütün veritabanlarınıza erişim sağlayın.

Erişim sağladıktan sonra açılan ekranın sol evresinden WordPress sitemizin kurulu bulunduğu veritabanı (dataBase) ismine tıklamanız gerekli. Tıkladıktan sonra prefix kıymetli wp_ ile başlayan bir çok tablo göreceksiniz. Üstünde düzeltmeler yapacağımız tablo ismi wp-options

Wp-options tablosuna tıklayın ve ortamından active-plugins satırını gidin. (Aşağıdaki resimde bulunduğu gibi)

WordPress MySQL Üstünden Eklenti Etkisizleştirme

Daha sonra active_plugins satırının derhal solunda yer alan düzenle butonuna tıklayın.

MySQL Active-Plugins Tablosu Düzenleme

Option_value evresinde gördüğünüz kod, WordPress sitenizde aktif olan bütün eklentileri isimleriyle beraber listeler. Kodun başındaki a:14 ifadesi, sitemde 14 eklentinin aktif halde bulunduğunu ifade eder. Eğer dikkatli inceleseniz sıralamanın i:0 ile başlayıp i:1, i:2 diye devam ettiğini göreceksiniz.

1- Eğer bütün eklentileri etkisizleştirmek dilerseniz ilk olarak bütün kodu kopyalayıp bilgisayarınızda notepad’e yapıştırın ve çevrimdışı olarak kayıt altına alın. (yedekleme amaçlı)

Daha sonra bütün kodu silin ve yerine alçakta açıkladığım kodu yazın.

a:0: {}

Daha sonra sağ alt köşede belirleme edilen Git düğmesinde basarak yaptığınız farkılıkları kaydedin.

2- Eğer eklentileri tek tek etkisizleştirmek dilerseniz, diyelim ki jetpack eklentisini etkisiz duruma getireceksiniz, kodun içersinde jetpack eklentisinin uzantısını bulun ve silin. ( eklenti kodun ortamında alçakta açıkladığım gibi geçecektir )

i:6;s:19:”jetpack/jetpack.php”;

Kodu sildikten sonra jetpack eklentisinden sonra gelen eklentilerin sıralamasını değiştirmelisiniz. Yani i:7, i:6 mevkisine i:8, i:7 mevkisine … taki son eklentiye yani i:14, i:13 mevkisine gelene kadar. Yaptığımız işlemle i:6‘da yani 6. sırada yer alan eklentiyi silmiş bulunduk bu yüzden sildiğimiz eklentiden bir sonra gelen eklentiyi 6. sıraya atamamız gerekli.

Daha sonra sağ alt köşede belirleme edilen Git düğmesinde basarak yaptığınız farkılıkları kaydedin. Eklenti etkisizleştirme prosedürü tamamdır.

 

  • Varsayılan Temaya Dönüş

Eğer eklentilerden de wordpress beyaz ekran sorununu çözemediyseniz son olarak tema değişikliğine gitmemiz gerekecek. Önce tekrardan

wp-content/themes

klasörünün adını değiştirmeniz gerekecek. Bu işlem sonucunda wordpress default tema ile açılacaktır. Bazıları dosyaları siliyor fakat yedeğiniz yoksa kesinlikle silme işlemi gerçekleştirmeyiniz.

Umarım wordpress beyaz ekran hatası çözümünü yararlı bulmuşsunuzdur. Sorunsuz günler dilerim.

Yorum Yap