Help
Posted By Gregory

PHP Avertissement: 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 dans …

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, un plugin ou un thème. Vous pouvez obtenir ce message si vous utilisez un plugin buggy et que l' affichage des erreurs PHP est activé, ce qui ne devrait normalement pas être le cas.

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

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

Si un plugin WordPress buggy génère un avertissement PHP avant que d’autres plugins n’envoient d’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 quelqu'un en erreur car il ne dit pas quel script ou 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. Ainsi, tous les autres plugins qui n'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 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 aux paramètres PHP, demandez de l'aide à votre fournisseur d'hébergement.
  2. Désactiver l'affichage des erreurs PHP dans les paramètres WP Cerber de 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. Mettez en commentaire la ligne avec une double barre oblique // 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?

Le seul code pouvant causer ce problème est un plugin obsolète / buggy ou le thème actif. Comment trouver la cause racine? 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.