[Résolu] Message « Constant WP_DEBUG already defined » suite à erreur critique (Créer un compte)

  • WordPress :5.8
  • Statut : résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #2421351
    gigijerem
    Participant
    Initié WordPress
    3 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.0.22
    • Thème utilisé : Flat
    • Extensions en place : Askimet; Pastacode
    • Nom de l’hébergeur : PlanetHoster
    • Adresse du site : https://blog.partiprof.fr

    Problème(s) rencontré(s) :

    Bonjour,

    j’ai rencontré une erreur critique sur un site que je gère (https://blog.partiprof.fr). J’ai donc reçu un mail m’indiquant que le problème venait de l’extension YoastSEO et avec un lien permettant de se connecter en mode sans échec. Cela m’a permis de désactiver l’extension et de rendre le site à nouveau accessible.

     

    Toutefois j’ai maintenant 3 avertissements qui s’affichent pour tous les visiteurs :

    Notice: Constant WP_DEBUG already defined in /home/wwwparti/public_html/blog/wp-config.php on line 94
    
    Notice: Constant WP_DEBUG_DISPLAY already defined in /home/wwwparti/public_html/blog/wp-config.php on line 96
    
    Notice: Constant WP_DEBUG_LOG already defined in /home/wwwparti/public_html/blog/wp-config.php on line 98

    Ces messages indiquent donc que les 3 constantes « WP-DEBUG », « WP_DEBUG_DISPLAY » et « WP_DEBUG_LOG » sont déjà définies. Mais je n’arrive pas à voir où.

     

    Dans le fichier wp-config.php indiqué par les messages, j’ai en fin de fichier :

    define('WP_DEBUG', false);
    
    /* That's all, stop editing! Happy blogging. */
    
    /** Absolute path to the WordPress directory. */
    if ( !defined('ABSPATH') )
    	define('ABSPATH', dirname(__FILE__) . '/');
    
    /** Sets up WordPress vars and included files. */
    require_once(ABSPATH . 'wp-settings.php');

     

    Ce fichier appelle ensuite le fichier wp-settings.php, dans lequel on a pour la partie qui nous intéresse :

    // Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR and WP_CACHE.
    wp_initial_constants();

     

    Et en allant chercher la fonction wp_initial_constants, qui se trouve dans le fichier « default-constants.php » de « wp-includes », j’ai :

    if ( ! defined( 'WP_CONTENT_DIR' ) ) {
    		define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // No trailing slash, full paths only - WP_CONTENT_URL is defined further down.
    	}
    
    	// Add define( 'WP_DEBUG', true ); to wp-config.php to enable display of notices during development.
    	if ( ! defined( 'WP_DEBUG' ) ) {
    		if ( 'development' === wp_get_environment_type() ) {
    			define( 'WP_DEBUG', true );
    		} else {
    			define( 'WP_DEBUG', false );
    		}
    	}
    
    	// Add define( 'WP_DEBUG_DISPLAY', null ); to wp-config.php to use the globally configured setting
    	// for 'display_errors' and not force errors to be displayed. Use false to force 'display_errors' off.
    	if ( ! defined( 'WP_DEBUG_DISPLAY' ) ) {
    		define( 'WP_DEBUG_DISPLAY', true );
    	}
    
    	// Add define( 'WP_DEBUG_LOG', true ); to enable error logging to wp-content/debug.log.
    	if ( ! defined( 'WP_DEBUG_LOG' ) ) {
    		define( 'WP_DEBUG_LOG', false );
    	}
    
    	if ( ! defined( 'WP_CACHE' ) ) {
    		define( 'WP_CACHE', false );
    	}
    
    	// Add define( 'SCRIPT_DEBUG', true ); to wp-config.php to enable loading of non-minified,
    	// non-concatenated scripts and stylesheets.
    	if ( ! defined( 'SCRIPT_DEBUG' ) ) {
    		if ( ! empty( $wp_version ) ) {
    			$develop_src = false !== strpos( $wp_version, '-src' );
    		} else {
    			$develop_src = false;
    		}
    
    		define( 'SCRIPT_DEBUG', $develop_src );
    	}

     

    J’ai essayé plusieurs choses :

    • de remplacer temporairement « define(‘WP_DEBUG’, false); » de wp-config.php par
    ini_set('display_errors','Off');
    ini_set('error_reporting', E_ALL );
    define('WP_DEBUG', false);
    define('WP_DEBUG_DISPLAY', false);

    • de supprimer la ligne « define(‘WP_DEBUG’, false); » de wp-config.php pour éviter de la définir plusieurs fois.
    • d’indiquer false pour les variables de « default-constants.php ».
    • de mettre en commentaire la partie définissant les constantes de « default-constants.php » pour que celles-ci ne soient pas définies.

    Mais le problème reste toujours le même. Ces constantes sont apparemment définies ailleurs, mais je ne vois pas où.

    D’ailleurs si je vais dans l’écran de santé du site, j’ai pour les constantes :

    WP_DEBUG –>Désactivé

    WP_DEBUG_DISPLAY –> Activé

    WP_DEBUG_LOG –>Désactivé

    SCRIPT_DEBUG –>Désactivé

    WP_CACHE –> Activé
    J’aimerais donc savoir si quelqu’un a une idée d’où peut venir le problème ?

     

    Merci de m’avoir lu et par avance pour vos réponses,

    Jérémy.

    • Ce sujet a été modifié le il y a 1 semaine et 5 jours par gigijerem.
    #2421400
    mathieu42
    Participant
    Maître WordPress
    1554 contributions

    quand il y a un message « already defined … on line 94 », cela veut dire qu’à la ligne 94 il y a la 2e définition, donc la 1re définition se trouve avant.

    pour trouver le souci, regardez le fichier index.php et ensuite suivez les 2 ou 3 inclusions de fichier pour voir si vous voyez quelque chose de spécial par rapport aux fichiers de base :

    .https://github.com/WordPress/wordpress-develop/blob/6.0/src/_index.php

    .https://github.com/WordPress/wordpress-develop/blob/6.0/src/wp-blog-header.php

    .https://github.com/WordPress/wordpress-develop/blob/6.0/src/wp-load.php

    si ces fichiers sont normaux, regardez au début de wp-config.php.

    #2421455
    gigijerem
    Participant
    Initié WordPress
    3 contributions

    Merci pour la réponse, j’avais regardé certains de ces fichiers également sans trouver l’autre définition.

    Toutefois j’ai résolu le problème, en vidant le cache de WordPress.

    Merci d’avoir pris le temps de lire et de répondre !

    #2421460
    mathieu42
    Participant
    Maître WordPress
    1554 contributions

    vous n’aviez pas indiqué d’extension de cache, est ce que c’est un cache de l’hébergement ?

    #2421461
    gigijerem
    Participant
    Initié WordPress
    3 contributions

    Non il s’agit bien du cache WordPress, je l’ai vidé via Litespeed Cache. Que j’ai effectivement oublié d’indiquer dans les extensions car je l’avais désactivé à un moment (avant les avertissements) donné. Autant pour moi !

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.