“Bu web sitesinde kritik bir hata oluştu” mesajı, WordPress çalışırken PHP tarafında isteği sonlandıran bir fatal error yakalandığını gösterir. Bu rehber hata kaydını bulma, eklenti ve tema kaynaklarını izole etme, PHP uyumluluğunu doğrulama ve siteyi güvenli şekilde yeniden açma sırasını açıklar.
There has been a critical error on this website.
PHP Fatal error: Uncaught TypeError
wp-content/plugins/ornek-eklenti/ornek.php on line 84
WordPress kritik hata ekranı tek başına kök nedeni göstermez. Asıl neden çoğunlukla PHP error log, WordPress debug.log veya yöneticiye gönderilen Recovery Mode e-postasında yer alan dosya ve satır bilgisidir.
WordPress 5.2 ve sonrası, tema veya eklenti kaynaklı ölümcül PHP hatalarını yakalayarak ziyaretçiye genel bir kritik hata ekranı gösterebilir. Yönetici e-postasına gönderilen kurtarma bağlantısı yalnız sorunlu bileşenin devre dışı bırakılmasına yardımcı olur.
Bir eklenti güncellemesinden hemen sonra başladıysa ilk şüphe o eklentidir; ancak PHP sürümü değişikliği, eksik PHP uzantısı, bozuk opcode cache veya tema içindeki fonksiyon çakışması da aynı sonucu oluşturabilir.
WP_DEBUG üretim sitesinde ziyaretçiye açık bırakılmamalıdır. Hata ayrıntıları ekranda değil dosyada tutulmalı, sorun çözüldükten sonra debug ayarları eski güvenli hâline döndürülmelidir.
Yönetim paneli açılmıyorsa FTP, dosya yöneticisi veya WP-CLI ile yalnız şüpheli eklentiyi devre dışı bırakmak, tüm siteyi eski yedeğe döndürmekten daha kontrollü bir ilk adımdır.
Kritik hata mesajını kaldırmak başarı değildir. Aynı URL’nin PHP ve web sunucusu loglarında yeni fatal error üretmediği doğrulanmadan sorun çözülmüş sayılmamalıdır.
E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.
Anlamı: WordPress PHP tarafında isteği sonlandıran ölümcül hata yakalamıştır.
Muhtemel neden: Eklenti, tema, PHP sürümü veya eksik uzantı.
Anlamı: Kod çağrısı yakalanmadan sonlanmıştır.
Muhtemel neden: Tanımsız sınıf/fonksiyon, yanlış parametre veya sürüm uyumsuzluğu.
Anlamı: Bir fonksiyon beklemediği veri türünü almıştır.
Muhtemel neden: Eski tema/eklenti yeni PHP sürümüyle uyumsuz olabilir.
Anlamı: Kurtarma bağlantısının süresi dolmuş veya daha önce kullanılmıştır.
Muhtemel neden: Tek kullanımlık bağlantı, cache veya yanlış site URL’si.
Anlamı: PHP işlemi tanımlanan bellek limitini tüketmiştir.
Muhtemel neden: Ağır eklenti, döngü, büyük sorgu veya düşük limit.
Anlamı: Kod mevcut olmayan fonksiyon çağırmıştır.
Muhtemel neden: Eksik PHP uzantısı, yüklenmemiş dosya veya yanlış eklenti sırası.
Anlamı: PHP dosyası sözdizimi açısından okunamıyor.
Muhtemel neden: Eksik parantez, hatalı manuel düzenleme veya yarım güncelleme.
Anlamı: Eski WordPress sürümlerindeki genel fatal error bildirimidir.
Muhtemel neden: Aynı kritik hata sınıfının eski metni.
Bu ifadeyle eşleşen kayıt bulunamadı.
Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.
wp core version
php -v
Çekirdek ve CLI PHP sürümünü gösterir; web PHP’sinin farklı olabileceğini unutmayın.
tail -n 150 wp-content/debug.log 2>/dev/null
tail -n 150 error_log 2>/dev/null
Fatal error içindeki ilk dosya ve satır bilgisini bulur.
wp plugin list --status=active
Aktif eklentileri ve sürümlerini listeler.
wp plugin deactivate EKLENTI-ADI
Yalnız belirlenen eklentiyi kontrollü biçimde devre dışı bırakır.
wp theme list
wp core verify-checksums
Aktif temayı gösterir ve çekirdek dosyalarının değişip değişmediğini kontrol eder.
php -m | sort
Eksik mysqli, intl, mbstring veya zip gibi uzantıları görmeye yardımcı olur.
WordPress hatasının temel nedeni aynıdır ancak log yolları, PHP ayar ekranları ve servis yönetimi kullanılan barındırma altyapısına göre değişir.
cPanel’de MultiPHP, File Manager ve Metrics > Errors bölümleri kullanılır.
cd /home/KULLANICI/public_html && /usr/local/bin/wp plugin list --allow-rootPlesk’te PHP Settings, Logs ve WordPress Toolkit birlikte kullanılabilir.
cd /var/www/vhosts/ALANADI/httpdocs && wp plugin listPanelsiz sunucuda web PHP’si, PHP-FPM havuzu ve uygulama logu birlikte incelenir.
sudo -u www-data wp plugin list --path=/var/www/htmlÖnce hatayı kaydedin, sonra bileşeni izole edin; çekirdek ve PHP uyumluluğunu doğrulayıp siteyi kontrollü biçimde test edin.
Ana sayfa, wp-admin veya yalnız belirli işlemde mi oluştuğunu ayırın.
curl -sSIk https://example.com/Hataları ekranda göstermeden wp-content/debug.log dosyasına yazdırın.
Zincirin sonundaki ikincil hataya değil, ilk dosya ve satır bilgisine odaklanın.
tail -n 150 wp-content/debug.logTüm eklentileri birden silmek yerine logda görülen bileşeni kapatın.
wp plugin deactivate EKLENTI-ADISürüm uyumluluğu, uzantılar ve checksum sonuçlarını kontrol edin.
wp core verify-checksumsHata logunun yeni kayıt üretmediğini ve cron işlemlerinin çalıştığını doğrulayın.
curl -sSIk https://example.com/wp-admin/Güncellenen eklentiyi kapatın, PHP gereksinimini ve değişiklik günlüğünü kontrol edin.
wp plugin deactivate EKLENTI-ADIAdmin’e özel eklentiler, yüksek admin memory ve dashboard widget’ları incelenir.
wp --skip-plugins user listTema ve eklentilerin hedef PHP sürümünü desteklediğini doğrulayın.
php -vWordPress mail altyapısı çalışmıyor olabilir; dosya yöneticisi veya WP-CLI ile ilerleyin.
wp option get admin_emailBellek sınırı, FPM worker, cron ve eşzamanlı istekler ayrıca incelenmelidir.
wp cron event listEn sık nedenler eklenti veya tema kodundaki fatal error, PHP sürümü uyumsuzluğu, eksik uzantı ve bellek tükenmesidir. Kesin neden logdaki dosya ve satır bilgisiyle belirlenir.
WordPress’in fatal error oluşturan tema veya eklentiyi geçici olarak devre dışı bırakabilmeniz için yöneticiye özel bağlantı sağladığı kurtarma modudur.
FTP veya dosya yöneticisinde yalnız ilgili eklenti klasörünü yeniden adlandırabilir ya da WP-CLI ile plugin deactivate komutunu kullanabilirsiniz.
Üretim ortamında sürekli açık ve ekrana hata basacak şekilde bırakılmamalıdır. İnceleme bittikten sonra güvenli ayara dönülmelidir.
Geçici teşhis sağlayabilir ancak kalıcı çözüm uyumsuz bileşeni güncellemek veya değiştirmektir.
Genellikle isteği durdurur; doğrudan veri silmez. Ancak yarım kalan sipariş, import veya güncelleme işlemleri ayrıca kontrol edilmelidir.
Öncelikle wp-content/debug.log, domain PHP error log ve web sunucusunun error log dosyasına bakılmalıdır.
cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.