WordPress ortamları için genellikle kullanmak ini_setiçin bir neden yoktur, çünkü WordPress Core tarafından sağlanan tanımlanmış sabitler zaten bunu başarır. PHP'nin çalışma şekli, belirli ayarların CMS'niz (WordPress) içinde, tek tek komut dosyalarında ve hatta kullanıcı başına veya dizin başına esasında (web barındırıcılarının ve ajanslarının hayal kırıklığı için) geçersiz kılınabilmesidir .
WordPress'de hataların sayfada görüntülenmesini devre dışı bırakmak için gerçekten ihtiyacınız olan tek ayar:
define('WP_DEBUG', false);
... çünkü WP_DEBUGdevre dışı bırakıldığında, alt seçenekler devre dışı olur:
define('WP_DEBUG_DISPLAY', false);
define('WP_DEBUG_LOG', false);
Kafa karıştırıcı WP_DEBUG_LOGseçeneğin yalnızca debug.logdizinde oluşturulmasını ifade ettiğini wp-contentve diğer günlük ayarlarını vb. Etkilemediğini unutmayın.
Yine, WordPress'teki ayarlar varsayılan PHP ayarlarını geçersiz kılabilir, bu nedenle PHP ayarlarınız wp-config.phpdosyanızda diğer WP bileşenlerinden önce yüklenen doğru ayarlara sahip olmak kadar önemli değildir .
Bununla birlikte, üretimde aşağıdaki gibi varsayılan ayarları uygulamak iyi bir fikirdir:
error_reporting = E_ERROR | E_WARNING | E_PARSE
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/www/logs/error.log
log_errors_max_len = 1024
ignore_repeated_errors = On
ignore_repeated_source = Off
report_memleaks = On
xmlrpc_errors = 0
html_errors = Off
Tam bir örnek için Nginx ve PHP-FPM için optimize edilmiş SlickStack php.ini dosyasına bakın .
Bir olayda, araştırmanın saat sonra, bir eklenti fark (veya tema) daha önceden belirlenen çeşitli hata işleme ayarları baskın oldu php.inive wp-config.php. Bunu önlemenin tek yolu, PHP ayarlarınızı "hacklemeye" çalışan WordPress eklentisini veya temasını kaldırmak veya kaldırmasını söylemektir, çünkü bu, uzantıların CMS'nizin hata ayıklama seçeneklerini geçersiz kılması için çok kötü bir uygulamadır.
SlickStack'ta, WP Yönetici Panosunda bu tür "hack'lerin" bir listesini görüntüleyen bir MU Plugin (PHP betiği) kullanarak bu tür örnekleri vurgulayarak ve dizinlerindeki PHP dosyalarından herhangi birini ini_setve error_reportingsatırları "işaretleyen" bir Bash betiği oluşturduk ./themes//plugins/