web-dev-qa-db-fra.com

Le mode débogage affiche des normes strictes

Lorsque je règle WP_DEBUG sur true dans wp-config.php, je peux voir toutes les normes strictes et les messages déconseillés.

J'ai défini le error_reporting dans mon php.ini, ini_set() et error_reporting() sur E_ERROR | E_WARNING | E_PARSE. Mais je peux toujours voir les messages de normes strictes.

Je sais que les messages peuvent être utiles, mais ils apparaissent dans certains des plugins que j'utilise et je ne suis pas intéressé à les voir. Comment puis-je les désactiver?

5
Joren

Ne définissez simplement pas WP_DEBUG sur TRUE. Le niveau d'erreur est défini dans wp_debug_mode(), appelé dans wp-settings.php avant le chargement des plug-ins. Si vous laissez les valeurs par défaut, WordPress le définira comme suit:

error_reporting( 
    E_CORE_ERROR | 
    E_CORE_WARNING | 
    E_COMPILE_ERROR | 
    E_ERROR | 
    E_WARNING | 
    E_PARSE | 
    E_USER_ERROR | 
    E_USER_WARNING | 
    E_RECOVERABLE_ERROR 
);

Mais vous devriez gardez les messages standard stricts car, dans certains cas, ils génèrent de vraies erreurs dans les versions ultérieures de PHP, il est donc préférable de les corriger rapidement.

4
fuxia

Pour masquer les erreurs strictes, vous pouvez utiliser la solution fournie par RadGH here : il suffit de mettre le code suivant dans un plugin indispensable (un seul fichier php sous/wp-content/mu-plugins /)

if (WP_DEBUG && WP_DEBUG_DISPLAY) 
{
   ini_set('error_reporting', E_ALL & ~E_STRICT & ~E_DEPRECATED);
}
2
Francesco