Hosting Paketlerinde %80 indirim + Ücretsiz Domain & SSL!
Detaylar

Bilgi Bankası

WordPress'te "kritik hata" ve beyaz ekran: eklenti ve tema çakışmasını bulma

Kısaca: "Bu web sitesinde kritik bir hata oluştu" iletisi ve boş beyaz sayfa, PHP'nin ölümcül bir hatayla durduğunu gösterir. Neden çoğunlukla bir eklenti, tema ya da PHP sürüm uyumsuzluğudur. Suçluyu kurtarma modu e-postasından veya debug.log kaydından bulun, ilgili eklentinin klasör adını değiştirerek devre dışı bırakın.

İpucu: Sorun bir güncellemeden, yeni eklentiden ya da PHP sürüm değişikliğinden hemen sonra başladıysa suçlu büyük olasılıkla odur; aşağıdaki adımlara oradan başlayın. Dosyalarda değişiklik yapmadan önce wp-config.php dosyasının bir kopyasını alın.

1. Yönetici e-postasına bakın: kurtarma modu

WordPress ölümcül hata yakaladığında Ayarlar → Genel sayfasındaki yönetim e-posta adresine "sitenizde teknik bir sorun var" anlamında bir ileti gönderir. İletide sorunu çıkaran eklentinin ya da temanın adı ve özel bir kurtarma modu bağlantısı bulunur.

  1. Bağlantıyı açıp giriş yapın. Kurtarma modunda sorunlu eklenti yalnız sizin oturumunuz için duraklatılır; ziyaretçiler hatayı görmeye devam eder.
  2. Eklentiyi devre dışı bırakın ya da güncelleyin. Eklentiler sayfasında sorunlu eklenti işaretli görünür.
  3. Kurtarma modundan çıkın. Yönetici çubuğundaki Kurtarma modundan çık bağlantısına tıklayın ve siteyi gizli pencerede kontrol edin.

Bağlantı varsayılan olarak 24 saat geçerlidir ve WordPress bu e-postayı en fazla günde bir kez gönderir. E-posta gelmediyse gereksiz klasörüne bakın, yoksa sonraki adıma geçin.

2. Hatayı kayda alın: WP_DEBUG

wp-config.php dosyasında zaten bulunan define( 'WP_DEBUG', false ); satırını aşağıdaki dört satırla değiştirin. Satırı ikinci kez eklemeyin; aynı sabiti iki kez tanımlamak ayrı bir uyarı üretir.

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

Hatalı sayfayı bir kez yenileyin ve wp-content/debug.log dosyasının son satırlarını açın. Aradığınız satır şuna benzer:

PHP Fatal error:  Uncaught Error: Call to undefined function create_function() in /home/kullaniciadi/public_html/wp-content/plugins/ornek-eklenti/ornek-eklenti.php:42

Yoldaki plugins/ ya da themes/ sonrasındaki klasör adı suçluyu söyler; bu örnekte ornek-eklenti. debug.log boşsa public_html içindeki error_log dosyasına ve cPanel → Ölçümler → Hatalar (Errors) sayfasına bakın.

Önemli: debug.log herkesin erişebileceği bir klasördedir ve sunucu yollarını, eklenti adlarını ele verir. Sorunu çözünce WP_DEBUG değerini false yapın ve dosyayı silin. Kaydı baştan web dışına yazdırmak için define( 'WP_DEBUG_LOG', '/home/kullaniciadi/wp-hata.log' ); biçimini kullanabilirsiniz.

3. Eklentiyi klasör adıyla devre dışı bırakın

cPanelDosyalarDosya Yöneticisipublic_html/wp-content/plugins

  1. Suçlu belliyse yalnız onu kapatın. Eklentinin klasörünü yeniden adlandırın (ör. ornek-eklenti → ornek-eklenti-kapali). WordPress dosyayı bulamayınca eklentiyi çalıştırmaz.
  2. Belli değilse hepsini kapatın. plugins klasörünün adını plugins-kapali yapın. Site açılıyorsa sorun eklentilerdedir.
  3. Eklentiler sayfasını açın. Yönetim paneline girip Eklentiler sayfasını bir kez açın; WordPress dosyası bulunamayan eklentileri devre dışı olarak işaretler.
  4. Adı geri verin ve tek tek etkinleştirin. Klasörü yeniden plugins yapın, eklentileri birer birer etkinleştirin. Hata hangisinde geri geliyorsa suçlu odur; güncelleyin, alternatifini bulun ya da geliştiricisine bildirin.

Dikkat: 3. adımı atlayıp klasörün adını hemen geri verirseniz eklentiler etkin olarak döner ve hata da geri gelir.

4. Temayı değiştirin

Eklentiler kapalıyken hata sürüyorsa sırada tema vardır; özellikle functions.php dosyasında elle değişiklik yapıldıysa. wp-content/themes içinde etkin temanın klasör adını değiştirin, panele girip Görünüm → Temalar sayfasını açın: WordPress bozuk temayı fark eder ve yüklü bir varsayılan temaya (ör. Twenty Twenty-Five) geçer. Hiç varsayılan tema yüklü değilse wordpress.org'dan indirip themes klasörüne yükleyin. Panel de açılmıyorsa phpMyAdmin'de wp_options tablosundaki template ve stylesheet değerlerini yüklü bir varsayılan temanın klasör adıyla değiştirin. Alt tema (child theme) kullanıyorsanız stylesheet alt temayı, template ana temayı gösterir.

5. Hata satırına göre hızlı teşhis

Kayıtta görülenOlası nedenNe yapmalı
Call to undefined function create_function() ya da each()Eklenti veya tema PHP 8 ile uyumsuz; bu işlevler PHP 8.0'da kaldırıldıEklentiyi güncelleyin ya da değiştirin. Acil durumda PHP Seçici'den önceki sürüme dönüp güncellemeyi planlayın; eski sürümde kalmayın.
Allowed memory size of ... bytes exhaustedPHP bellek sınırı yetmiyorwp-config.php dosyasına define( 'WP_MEMORY_LIMIT', '256M' ); ekleyin; etkili olmazsa PHP Seçici'nin Seçenekler (Options) sekmesinde memory_limit değerini yükseltin.
Maximum execution time of 30 seconds exceededUzun süren işlem (içe aktarma, büyük yedek)İşlemi küçük parçalara bölün ya da PHP Seçici'de max_execution_time değerini artırın.
syntax error, unexpected ...Tema veya eklenti dosyasında hatalı elle düzenlemeBelirtilen dosya ve satırdaki değişikliği geri alın.
Cannot redeclare ...Aynı eklentinin iki kopyası ya da aynı işlevi tanımlayan iki eklentiKopyalardan birini kaldırın.

Bellek sınırını yükselttiğiniz hâlde site yavaşlayıp 503 veya 508 hatası veriyorsa hesabınızın CloudLinux kaynak sınırlarına (CPU, bellek, giriş süreci) takılıyor olabilirsiniz; bu durumda sorunu çıkaran işlemi azaltmak gerekir.

Aradığınızı bulamadınız mı?

Destek ekibimiz yardımcı olsun; taleplere en geç 24 saat içinde ilk yanıt veriyoruz.

Destek talebi oluşturun
Bu makale işinize yaradı mı?

0 defa görüntülendi | 0 kişi faydalı buldu

0850 532 67 10 908505326710