200 durumuyla gelen boş bir sayfa, display_errors kapalıyken PHP'nin ölümcül bir hataya çarpması demektir. Hata vardır; ekrana değil bir kayda yazılmıştır. Hiçbir şey onarılamaz biçimde bozulmuş değildir ve kayıt size dosyayı ve satırı söyleyecektir.
Kaydı okuyun, display_errors'ı açmayın
Hataları tarayıcıda açmak, dosya yollarınızı sayfayı açan herkese gösterir. Kayıt aynı bilgiyi taşır ve onu kimseye göstermez.
tail -40 /var/log/php8.3-fpm.log
# or, if the site sets its own:
tail -40 /path/to/site/error_log
Kayıt boşsa
O zaman PHP bir kayıt yazacak kadar ilerleyememiştir. Olasılık sırasına göre iki sebep:
- Bellek — memory_limit'i aşan bir betik, kayıt yazamadan öldürülür. Gerçek hatayı görmek için onu geçici olarak yükseltin:
memory_limit = 512M - Dahil edilen bir dosyadaki söz dizimi hatası — php -l onu adıyla söyler:
php -l wp-config.php
Özellikle WordPress'te
Onda dokuz, dakikalar önce güncellenmiş bir eklenti ya da temadır. Eklentiler dizinini yeniden adlandırın - site bütün eklentiler kapalı hâlde geri gelir, adları teker teker geri verdikçe suçlu bulunur.
mv wp-content/plugins wp-content/plugins.off
# site loads? rename back and re-enable one at a time
wp-config.php dosyasına
define("WP_DEBUG_LOG", true); ekleyin. Hata ekrana değil, wp-content/debug.log dosyasına gider.