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 ya da uyumsuz bir eklenti
Çok sıkWooCommerce'in kendisi ya da bir uzantı, sunucudaki PHP sürümünün artık desteklemediği bir fonksiyon çağırıyor olabilir. Güncelleme sonrası ortaya çıkan hataların büyük bölümü bu nedenle oluşur.
- 02
PHP sürümü hosting tarafında değişti
SıkHosting firması sunucu PHP sürümünü yükselttiğinde (örneğin 7.4'ten 8.x'e), eski eklenti ve temalar kaldırılmış fonksiyonlar yüzünden ölümcül hata verebilir.
- 03
Bellek limiti (memory_limit) yetersiz kalıyor
SıkWooCommerce, ürün sayısı ve eklenti yükü arttıkça daha fazla PHP belleği ister. Sunucunun ayırdığı limit aşıldığında site bu hatayı verir.
- 04
Tema dosyasında bozulma
Ara sırafunctions.php dosyasına elle eklenen bir kod parçası ya da yarım kalan bir tema güncellemesi dosyayı bozmuş olabilir.
- 05
Yarım kalan güncelleme ya da bozuk veritabanı tablosu
NadirenGüncelleme sırasında bağlantı kesilirse çekirdek dosyalar ya da veritabanı tabloları eksik kalabilir; bu da ölümcül hataya yol açar.
Adım adım çözüm
Eklenti, tema ya da veritabanı üzerinde değişiklik yapmadan önce dosyaların ve veritabanının tam yedeğini alın.
- 1
Kurtarma modu e-postasını kontrol edin
WordPress 5.2 ve üzeri sürümlerde, hatayı tetikleyen eklenti ya da tema yönetici e-postasına bildirilir. E-postadaki bağlantıyla panele "kurtarma modu"nda girebilir, sorunlu bileşeni devre dışı bırakabilirsiniz. E-posta gelmediyse spam klasörünü kontrol edin.
- 2
Hata kaydını (debug log) açın
E-posta gelmediyse ya da panele giriş yapamıyorsanız wp-config.php dosyasını FTP ya da dosya yöneticisiyle açın. "That's all, stop editing!" satırının üstüne şu satırları ekleyin. Bu ayar hatayı ekrana basmaz, yalnızca dosyaya yazar; ziyaretçiler hatayı görmeye devam eder ama siz nedenini görürsünüz.
phpdefine( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); - 3
Kaydı okuyun ve suçlu dosyayı belirleyin
Sayfayı bir kez yenileyin, ardından wp-content/debug.log dosyasını açın. Dosyanın sonundaki "PHP Fatal error" satırı, hangi eklenti ya da tema dosyasının sorunlu olduğunu gösterir.
textPHP Fatal error: Uncaught Error: Call to undefined function wc_get_product() in /wp-content/plugins/ornek-eklenti/loader.php:18 - 4
Sorunlu eklentiyi FTP üzerinden devre dışı bırakın
Panele giriş yapamıyorsanız wp-content/plugins klasöründeki ilgili eklenti klasörünün adını değiştirin (ör. ornek-eklenti → ornek-eklenti-pasif). WordPress o eklentiyi otomatik olarak devre dışı bırakır ve site tekrar açılır.
- 5
WP-CLI ile eklentileri toplu kontrol edin
Sunucuya SSH erişiminiz varsa WP-CLI ile tüm eklentileri tek komutla devre dışı bırakıp teker teker açarak suçluyu bulabilirsiniz. İşlem öncesi yedek almayı unutmayın.
bashwp plugin deactivate --all wp plugin activate woocommerce # ardından diğer eklentileri tek tek etkinleştirip siteyi kontrol edin - 6
PHP bellek limitini artırın
Hata kaydında "Allowed memory size exhausted" ifadesi varsa php.ini dosyasında ya da wp-config.php üzerinden bellek limitini yükseltin. [barındırma sağlayıcınızın izin verdiği üst limit] değerini kontrol edin; bazı paylaşımlı hosting planlarında bu değer sabitlenmiş olabilir.
textmemory_limit = 256M - 7
WooCommerce sistem durumu sayfasını kontrol edin
Site tekrar açıldıktan sonra WooCommerce › Durum sayfasından PHP sürümü, bellek limiti ve eksik gereksinimleri gözden geçirin. [menü yolu kurulu WooCommerce sürümüne göre değişebilir].
- 8
Hâlâ çözülmediyse çekirdek dosyaları yeniden yükleyin
Güncelleme yarım kaldıysa WordPress çekirdek dosyalarını yeniden indirip üzerine yazmak sorunu giderebilir. Bu işlem öncesi mutlaka tam yedek alın; wp-content klasörüne dokunmaz ama temalar ve eklentiler için ayrıca yedek önerilir.
bashwp core verify-checksums wp core download --force
Hangi sürümlerde görülüyor?
| WordPress | PHP | Durum | Not |
|---|---|---|---|
| WordPress 6.5 – 6.6 | PHP 8.1 – 8.3 | Görülüyor | Eski WooCommerce uzantılarında sık; |
| WordPress 6.0 – 6.4 | PHP 7.4 – 8.0 | Görülüyor | Hosting PHP geçişlerinde ortaya çıkıyor |
| GoDaddy ve benzeri yönetilen hosting | 8.1 | Görülüyor | Yönetilen hosting panelleri otomatik PHP güncellemesi yapabiliyor |
Çözüldüğünü nasıl anlarsınız?
- Ana sayfa, ürün ve kategori sayfaları normal şekilde açılıyor.
- Sepete ürün eklenip ödeme (checkout) adımı tamamlanabiliyor.
- Yönetici paneline normal giriş bağlantısıyla erişilebiliyor.
- debug.log dosyasına yeni bir "PHP Fatal error" satırı düşmüyor.
- WooCommerce › Durum sayfasında kritik bir uyarı görünmüyor.
Ne zaman uzmana başvurmalı?
Hata kaydını okuyup suçlu dosyayı bulduktan sonra bile sorun tekrar ediyorsa ya da hangi eklentinin çakıştığını belirlemek zaman alıyorsa, kendiniz denemeden önce profesyonel destek almak veri kaybı riskini azaltır. Hata Ayıklama ve Onarım hizmetimizde WooCommerce sitenizin log kayıtlarını, eklenti çakışmalarını ve sunucu yapılandırmasını baştan sona inceleyip kalıcı çözüm üretiyoruz. Site tamamen erişilemez durumdaysa ve hızlı müdahale gerekiyorsa Acil Müdahale ekibimiz aynı gün içinde devreye girebilir.
İlgili sayfalar: Hata Ayıklama ve Onarım · Acil Müdahale · WooCommerce sipariş maili gelmiyor · WooCommerce hata çözümleri
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
WordPress'te kritik hata ne anlama gelir?
Kritik hata, sunucunun PHP kodunu çalıştırırken durdurulamaz bir sorunla karşılaştığı ve sayfayı tamamlayamadığı anlamına gelir. WordPress bu durumu 5.2 sürümünden itibaren kullanıcıya teknik ayrıntı göstermeden, sade bir mesajla bildirir.
Bu hata verilerimi veya siparişlerimi siler mi?
Hayır. Hata yalnızca sayfanın oluşturulmasını engeller; veritabanındaki ürünler, siparişler ve içerikler olduğu yerde kalır. Yine de düzeltmeye başlamadan önce tam yedek almanızı öneririz.
Kurtarma modu e-postası gelmezse ne yapmalıyım?
E-posta, Ayarlar › Genel sayfasındaki yönetici adresine gider. Spam klasörünü kontrol edin; gelmiyorsa sunucunuzun e-posta gönderimi engellenmiş olabilir. Bu durumda wp-config.php üzerinden debug.log'u açıp hatayı doğrudan dosyadan okuyun.
Hata yalnızca Elementor ile düzenlenen sayfalarda mı çıkıyor?
Elementor'un kendisi ya da bir Elementor eklentisi PHP sürümüyle uyumsuzsa hata yalnızca o editörle düzenlenen sayfalarda görülebilir. debug.log dosyasında Elementor'a ait bir dosya yolu görüyorsanız öncelik o eklentiyi güncellemek ya da devre dışı bırakmaktır.
PHP güncellemesinden sonra hata çıktı, ne yapmalıyım?
Önce hangi eklenti ya da temanın yeni PHP sürümüyle uyumsuz olduğunu debug.log üzerinden tespit edin. Güncel bir sürümü varsa güncelleyin; yoksa geçici olarak devre dışı bırakıp [hosting panelinizden] eski PHP sürümüne dönebilirsiniz.