Help
Posted By Gregory

Avertissement PHP : Impossible de modifier les informations d'en-tête


English version: PHP Warning: Cannot modify header information


Avertissement PHP : Impossible de modifier les informations d’en-tête – les en-têtes ont déjà été envoyés…

Il arrive que ce message apparaisse dans le journal des erreurs du serveur ou sur une page web. C'est frustrant et cela peut laisser penser qu'il y a un problème avec le script PHP mentionné. En réalité, ce message indique un problème (un bug) dans un autre script, une extension ou un thème. Ce message peut s'afficher si vous utilisez une extension défectueuse et que l'affichage des erreurs PHP est activé, ce qui est généralement déconseillé.

Ce message apparaît lorsqu'un fragment de code PHP d'un site web génère une sortie, généralement un avertissement PHP qui ne devrait pas être affiché dans le navigateur de l'utilisateur. Cette sortie est envoyée avant la génération et l'envoi de l'en-tête de la page web au navigateur. L'en-tête d'une page web peut être vide ou contenir des informations supplémentaires, comme des cookies.

Que l'en-tête soit vide ou non, il doit être envoyé avant tout contenu de page.

Si un plugin WordPress défectueux génère un avertissement PHP avant que d'autres plugins n'envoient les en-têtes à un navigateur, cela entraîne une erreur serveur avec le message « Avertissement PHP : Impossible de modifier les informations d'en-tête – les en-têtes ont déjà été envoyés dans … » .

Un tel message peut induire en erreur car il n'indique pas quel script ou plugin est à l'origine de l'erreur. Lorsqu'un serveur web détecte une sortie générée par un plugin sans en-tête, il crée automatiquement cet en-tête et l'envoie aux navigateurs. Par conséquent, les autres plugins, qui ne s'attendent pas à ce comportement, sont incapables d'envoyer leurs en-têtes s'ils en ont besoin.

Comment résoudre ce problème dans le contexte de l'utilisation de WP Cerber Security ?

  1. Désactivez l'affichage des erreurs dans les paramètres PHP de votre panneau de contrôle d'hébergement. Si vous n'avez pas accès à ces paramètres, contactez votre hébergeur.
  2. Désactiver l'affichage des erreurs PHP dans les paramètres WP Cerber sur la page d'administration de renforcement de la sécurité.
  3. Dans les paramètres principaux de WP Cerber, définissez « Charger le moteur de sécurité » sur « Mode standard » ou « Mode avancé ».
  4. Vérifiez si la constante WP_DEBUG est définie dans le fichier wp-config.php. Commentez la ligne contenant les doubles barres obliques // ou supprimez-la simplement. Voici à quoi elle devrait ressembler :
    // define( 'WP_DEBUG', true );
    // define( 'WP_DEBUG', 1 );
  5. Ajoutez les lignes suivantes au début du fichier wp-config.php :
    @ini_set( 'display_errors', 0 );
    @ini_set( 'log_errors', 1 );

Le problème pourrait-il venir de WP Cerber ou de WordPress ?

Non. Seul un plugin obsolète ou bogué, ou le thème actif, peut causer ce problème. Comment trouver la cause ? Consultez le journal des erreurs du serveur. Et veuillez désinstaller les plugins obsolètes.


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.