Bu hata neden oluşur?
Nedenler, sahada karşılaştığımız sıklığa göre sıralıdır.
- 01
Yeni güncellenen bir eklenti
Çok sıkEklenti, sunucudaki PHP sürümünün desteklemediği bir fonksiyon çağırıyor ya da başka bir eklentiyle çakışıyor.
- 02
PHP sürümü değişti
SıkHosting firması PHP 7.4'ten 8.x'e geçti; eski eklenti ve temalar yeni sürümde ölümcül hata veriyor.
- 03
Temanın functions.php dosyasında hata
SıkElle eklenen bir kod parçası ya da yarım kalan tema güncellemesi dosyayı bozdu.
- 04
PHP bellek limiti yetersiz
Ara sıraAğır bir sayfa (ürün listesi, sayfa oluşturucu) 128 MB sınırını aşıyor.
- 05
Yarım kalan çekirdek güncellemesi
Ara sıraGüncelleme sırasında bağlantı koptu; bazı çekirdek dosyaları eksik ya da eski kaldı.
Adım adım çözüm
Dosyaları ve veritabanını yedekleyin. Hosting panelinizdeki yedekleme aracı ya da bir yedek eklentisi yeterlidir.
- 1
Kurtarma modu e-postasını açın
WordPress 5.2 ve üstü, hatayı veren eklentiyi yönetici e-postasına yazar. E-postadaki bağlantıyla panele girin; sorunlu eklenti orada işaretli görünür ve tek tıkla devre dışı bırakılır.
- 2
Hata kaydını açın
E-posta gelmediyse wp-config.php dosyasında, "That's all, stop editing!" satırının üstüne şu üç satırı ekleyin. Hata ekrana basılmaz, yalnızca dosyaya yazılır.
phpdefine( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); - 3
Kaydı okuyun
Sayfayı bir kez yenileyin ve wp-content/debug.log dosyasını açın. "PHP Fatal error" ile başlayan son satır, hatayı veren dosyanın yolunu gösterir.
logPHP Fatal error: Uncaught Error: Call to undefined function create_function() in /wp-content/plugins/ornek-eklenti/includes/loader.php:42 - 4
Sorunlu eklentiyi devre dışı bırakın
Panele giremiyorsanız eklenti klasörünün adını değiştirmek yeterlidir. WP-CLI varsa tek komutla da kapatabilirsiniz.
bashwp plugin deactivate ornek-eklenti # WP-CLI yoksa (FTP ya da dosya yöneticisiyle): mv wp-content/plugins/ornek-eklenti wp-content/plugins/ornek-eklenti.kapali - 5
Hata temadaysa varsayılan temaya geçin
Kayıttaki yol /wp-content/themes/ ile başlıyorsa sorun temadadır. Geçici olarak varsayılan temaya geçip siteyi açın.
bashwp theme activate twentytwentyfour - 6
Bellek hatasıysa limiti artırın
Kayıtta "Allowed memory size" ifadesi varsa wp-config.php dosyasına bellek limitini ekleyin.
phpdefine( 'WP_MEMORY_LIMIT', '256M' ); - 7
Hata kaydını kapatın
Site açıldıktan sonra WP_DEBUG değerini false yapın ve debug.log dosyasını silin; bu dosya herkese açık kalmamalı.
phpdefine( 'WP_DEBUG', false );
Hangi sürümlerde görülüyor?
| WordPress | PHP | Durum | Not |
|---|---|---|---|
| WordPress 6.6 | PHP 8.3 | Görülüyor | Eski eklentilerde en sık |
| WordPress 6.5 | PHP 8.2 | Görülüyor | create_function, each() kaldırıldı |
| WordPress 6.0 | PHP 7.4 | Nadiren | Genelde bellek limiti |
| WordPress 5.2 öncesi | PHP 7.x | Mesaj yok | Beyaz ekran olarak görünür |
Çözüldüğünü nasıl anlarsınız?
- Ana sayfa, kategori ve ürün sayfaları açılıyor.
- Yönetici paneline normal bağlantıyla giriş yapılabiliyor.
- debug.log dosyasına yeni "PHP Fatal error" satırı düşmüyor.
- WooCommerce kullanıyorsanız sepet ve ödeme adımı tamamlanıyor.
- WP_DEBUG yeniden false yapıldı.
Bu hatayı ₺2.500'e 2 saatte çözelim.
Sabit fiyat, kopya sitede çalışma, yazılı çözüm notu. Aynı hata 7 gün içinde tekrar ederse ücretsiz.
Sık sorulanlar
Kurtarma modu e-postası gelmedi, ne yapmalıyım?
E-posta, Ayarlar › Genel sayfasındaki yönetici adresine gider; spam klasörünü kontrol edin. Sunucunuz e-posta göndermiyorsa gelmez; bu durumda wp-config.php dosyasında hata kaydını açıp debug.log dosyasını okuyun.
Bu hata verilerimi siler mi?
Hayır. Hata sayfanın oluşturulmasını durdurur; veritabanındaki ürün, sipariş ve içerikler olduğu yerde kalır. Yine de düzeltmeye başlamadan önce tam yedek alın.
Hata tekrar eder mi?
Kök neden giderilmediyse eder. Sorunlu eklentiyi güncelleyin ya da yerine uyumlu bir alternatif kurun, PHP sürümünü eklentilerin desteklediği sürüme göre seçin.