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 – en-têtes déjà envoyés…

Parfois, vous pouvez voir ce message dans le journal des erreurs du serveur ou l'afficher sur une page Web. C'est frustrant et il semble que quelque chose ne va pas avec le script PHP mentionné dans le message. En fait, ce message indique un problème (un bug) dans un autre script, plugin ou un thème. Vous pouvez recevoir ce message si vous utilisez un plugin buggé et que l'affichage des erreurs PHP est activé, ce qui ne devrait normalement pas être le cas.

Ce message apparaît lorsqu'un morceau de code PHP sur un site Web génère une sortie, qui est généralement un message d'avertissement PHP qui ne doit pas du tout être envoyé et affiché dans le navigateur des utilisateurs. Et cette sortie est envoyée avant qu'un en-tête de la page Web ne soit généré et envoyé au navigateur d'un utilisateur. L'en-tête d'une page Web peut être vide ou contenir des informations supplémentaires telles que des cookies.

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

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

Un tel message peut induire n'importe qui en erreur car il ne précise pas quel script ou quel plugin a provoqué cette erreur. Lorsqu'un serveur Web détecte une sortie générée par un plugin sans en-tête envoyé, il crée automatiquement l'en-tête et l'envoie aux navigateurs, de sorte que tous les autres plugins qui ne s'attendent pas à un tel comportement ne peuvent pas envoyer leurs en-têtes s'ils en ont besoin. .

Comment résoudre ce problème dans le cadre 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 aux paramètres PHP, demandez de l'aide à votre hébergeur.
  2. Désactivez l'affichage de l'erreur PHP dans les paramètres WP Cerber sur la page d'administration Hardening.
  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 avec des doubles barres obliques // ou supprimez simplement la ligne entière. Voici à quoi cela 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 );

WP Cerber ou WordPress peuvent-ils être à l'origine du problème ?

Non. Le seul code qui peut provoquer ce problème est soit un plugin obsolète/bogué, soit le thème actif. Comment trouver la cause profonde ? Vérifiez le journal des erreurs du serveur. Et s’il vous plaît, débarrassez-vous des 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.