IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

WP_DEBUG : comment ajuster le niveau d'affichage des erreurs ?


Sujet :

WordPress PHP

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut WP_DEBUG : comment ajuster le niveau d'affichage des erreurs ?
    Bonjour à tous,

    Suite à une modification de la version PHP (8.0) une avalanche de WARNINGS et NOTICES s’affichent sur le front. Ma version WP est 6.4.1

    J’ai pu tout bloquer grâce à ini_set(‘display_errors’,’off’); dans wp-config, mais je suis développeur de plugins et j’ai besoin d’afficher les erreurs importantes qui sont plus graves que WARNINGS. J’ai essayé plein de config différentes dans wp-config mais rien ne va. Soit j’ai tout, soit je n’ai rien.

    Voici où j’en suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ini_set('display_errors','off');
    //ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING );
    define('WP_DEBUG', false);
    define('WP_DEBUG_LOG', false);
    define('WP_DEBUG_DISPLAY', false);
    Si je décommente ini_set(‘error_reporting’, E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING ); tout s’affiche en front, on dirait que l'instruction n'a aucun effet.
    Merci de vos conseils.

  2. #2
    Membre confirmé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 321
    Points : 642
    Points
    642
    Par défaut
    Bonjour,

    Ton ini_set('error_reporting', ...) ne fonctionne pas car le CMS appelle lui même la fonction error_reporting lors de l'exécution de WP.

    Une solution semble être de créer ton propre Must-Use-Plugin afin d'appeler la fonction error_reporting après le chargement de WP : https://kau-boys.com/2619/wordpress/...rror_reporting

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Bonjour et merci pour ta soluce.
    J'ai crée un mu-plugin avec la fonction error_reporting définie selon ce que j'avais dans wp-config et ça fonctionne !

  4. #4
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Oup's j'ai parlé trop vite. Je ne vois pas vraiment de différence, en fait.

    J'ai crée un mu-plugin dans le dossier mu-plugin nommé my-error-reporting contenant simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /*
    MU Plugin: my-error-reporting
    Description: Personnaliser le niveau de débug du site
    Version1: 2023-11-23
    */
     
    error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING );
    Puis dans le wp-config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //ini_set('display_errors','off');
    //ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING );
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', false);
    define('WP_DEBUG_DISPLAY', false);
    Du coup si je mets DEBUG_DISPLAY à true, tous les notices et warnings s'affichent. Si je le mets à false : rien. Si je provoque une erreur sciemment dans un fichier j'ai le message "Il y a une erreur critique sur ce site" mais aucun détail.

  5. #5
    Membre confirmé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 321
    Points : 642
    Points
    642
    Par défaut
    En faisant un test simple à l'instant sur un WP 6.4.1 vierge, la solution fonctionne correctement de mon coté.

    Est-ce que ton plugin est bien exécuté ?
    Essaye de créer le fichier wp-content/mu-plugins/000-set-level-debug.php avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
     
    echo 'run?';
    error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING);
    Est-ce que le "run?" s'affiche dans le navigateur ?

    Au passage, pas sûr que ce soit une bonne idée d'ignorer les erreurs de type warning qui peuvent impliquer un dysfonctionnement du site, il faudrait corriger ces erreurs.

  6. #6
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Le code s'exécute bien dans le fichier 000-set-level-debug.php à la racine de mu-plugins

    Par contre mon mu-plugin ne s'exécute pas. Il est pourtant dans le bon dossier wp-content/mu-plugins/my-error-reporting/my-error-reporting.php
    Il n'y a pourtant rien à faire de spécial pour l'activer ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 321
    Points : 642
    Points
    642
    Par défaut
    https://fr.wordpress.org/support/art...t-use-plugins/
    WordPress n’exécute que les fichiers PHP directement contenus à la racine du répertoire mu-plugins, les sous-répertoires ne sont pas parcourus. Si vous souhaitez placer votre extension indispensable dans un sous-répertoire, vous devrez créer un proxy de chargement via PHP dans le répertoire /mu-plugins

  8. #8
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Merci beaucoup, du coup j'exécute le fichier à la racine avec le nom que tu m'as donné.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Comment se débarrasser de l'affichage des pages en vis-à-vis?
    Par alakauf dans le forum Word
    Réponses: 5
    Dernier message: 22/11/2012, 20h04
  2. Comment gérer l'ordre d'affichage des composants ?
    Par sterna dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/04/2011, 12h32
  3. Affichage des erreurs au niveau IE
    Par mouradsi dans le forum Zend Framework
    Réponses: 0
    Dernier message: 13/03/2010, 19h26
  4. Comment activer le service d'affichage des messages?
    Par ceroxono dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 02/06/2009, 17h29
  5. [Eclipse 3.0]Affichage des erreurs
    Par alfsalim dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/07/2004, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo