Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

WordPress'te debug modu nasıl etkinleştirilir

WP_DEBUG, bir “sitede kritik bir hata oluştu” mesajının veya boş ekranın arkasındaki dosyayı, satırı ve tam mesajı ortaya çıkarır. Doğru ayarlandığında bu bilgileri ziyaretçilere hiç göstermeden bir günlük dosyasına yazar.

Sorunumu anlatayım Mesaj gönderin

wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Siteyi açığa çıkarmadan debug modunu etkinleştirme

  1. Site dosyalarına erişin

    wp-config.php, WordPress kurulumunun kökünde, wp-content, wp-admin ve wp-includes klasörleriyle aynı seviyede yer alır. FTP, SFTP veya barındırma sağlayıcısının dosya yöneticisine erişim gerekir.

  2. Değiştirilecek satırı bulun

    define('WP_DEBUG', false); satırını arayın. Eğer yoksa, /* That's all, stop editing! Happy publishing. */ satırından hemen önce üç sabiti ekleyin.

  3. Görüntülemeyi ve günlüklemeyi ayırın

    WP_DEBUG_DISPLAY'in false olması, mesajların herkese açık sayfalarda görünmesini engeller. WP_DEBUG_LOG'un true olması ise bunları bir dosyaya yazar; production ortamındaki bir sitede kullanılması gereken kombinasyon budur.

  4. Sorunu yeniden oluşturun

    WordPress'in olayı günlüğe kaydetmesi için hatayı tetikleyen sayfayı veya işlemi yeniden yükleyin.

  5. wp-content/debug.log dosyasını okuyun

    Bu dosya, PHP hatalarını kronolojik sırayla, dosya, satır ve genellikle sorumlu eklenti veya tema bilgisiyle birlikte listeler.

  6. Normal moda geri dönün

    Neden belirlendikten sonra WP_DEBUG ve WP_DEBUG_LOG'u tekrar false yapın ve hassas bilgiler içeriyorsa debug.log dosyasını silin.

Görüntülemeyi ve günlüklemeyi neden ayırmalı

WordPress'in varsayılan yapılandırması, ziyaretçilere kod göstermemek için WordPress 5.2'den beri kullanılan “Bu sitede kritik bir hata oluştu” genel mesajının arkasına tüm hataları gizler. Bu iyi bir korumadır, ancak dosyalara erişim olmadan teşhisi imkânsız hale getirir.

Yalnızca WP_DEBUG'ı etkinleştirmek, hataların doğrudan sayfada görünmesi için yeterlidir; bu yerelde pratiktir ama production'da tehlikelidir: herhangi bir ziyaretçi aynı mesajları, bazen dosya yollarını veya iç işlev adlarını görebilir. WP_DEBUG_LOG'u true ve WP_DEBUG_DISPLAY'i false yapma kombinasyonu bu ikilemi çözer: hatalar kaydedilmeye devam eder, ancak yalnızca sunucu dosyalarına erişimi olan biri bunları görebilir.

Bir WooCommerce mağazasında, bu ayar yönetim panelindeki WooCommerce, Durum, Günlükler bölümünden erişilebilen eklentiye özgü günlüklerin okunmasıyla tamamlanır; bu günlükler ödeme, webhook ve stok senkronizasyonu hatalarını ayrı ayrı kaydeder.

Sık yapılan hatalar

  • WP_DEBUG_DISPLAY'i canlı bir sitede true bırakmak: hatalar, kullanılabilir teknik bilgiler dahil olmak üzere tüm ziyaretçiler tarafından görülebilir hale gelir.
  • Etkinleştirildikten sonra debug.log dosyasının sınırsız büyüdüğünü unutmak: çok sayıda PHP notice üreten bir sitede, birkaç hafta içinde birkaç yüz megabayta ulaşabilir.
  • wp-content/debug.log dosyasını henüz oluşmamışken aramak: WordPress bu dosyayı yalnızca etkinleştirmeden sonra ilk hata oluştuğunda oluşturur.
  • wp-config.php dosyasını önceden yedek almadan değiştirmek: bu dosyadaki bir sözdizimi hatası, wp-admin dahil siteyi tamamen erişilemez hale getirir.

Sıkça sorulan sorular

Debug modu kritik hatayı daha da kötüleştirebilir mi?
Hayır, günlük dosyası dışında hiçbir veriyi veya dosyayı değiştirmez. Yalnızca WordPress'in kendi hatalarını işleme ve gösterme biçimini değiştirir.
wp-config.php yok veya bulamıyorum, ne yapmalıyım?
Bu dosya, çalışan her WordPress kurulumunda sitenin kökünde bulunur. Bulunamıyorsa, kurulumun eksik olması veya FTP erişiminin yanlış klasörü göstermesi mümkündür.
Hata ayıklayıcı birden fazla farklı hata gösteriyor, önce hangisiyle ilgilenmeliyim?
Genellikle günlükteki kronolojik olarak ilk hatayla: sonrakiler genellikle ilkinin zincirleme sonuçlarıdır, örneğin yüklenemeyen bir eklenti ve ona bağımlı diğer eklentiler.
WordPress çoklu site (multisite) kurulumunda debug modu etkinleştirilmeli mi?
Evet, yöntem aynıdır: sabitler, tüm site ağı tarafından paylaşılan aynı wp-config.php dosyasında tanımlanır.
WordPress'i teşhis etmek için debug.log'dan daha kapsamlı bir araç var mı?
Query Monitor eklentisi, yönetim panelinde ve ön yüzde doğrudan bir hata ayıklama çubuğu ekler; çalıştırılan SQL sorgularının detayını, tetiklenen hook'ları ve her yavaşlama veya hatadan sorumlu eklentileri WP_DEBUG'a ek olarak gösterir.

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

impact
message
declencheur
debug (facultatif)
acces (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.