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 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 on dirait 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 obtenir ce message si vous utilisez un plugin bogué et que l' affichage des erreurs PHP est activé, ce qui ne devrait normalement pas l'être.
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 – les en-têtes sont déjà envoyés dans…" .
Un tel message peut induire n'importe qui en erreur car il ne dit pas quel script ou plugin a causé 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 l'en-tête automatiquement 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
- 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.
- Désactivez l'affichage de l'erreur PHP dans les paramètres de WP Cerber sur la page d'administration de durcissement.
- Dans les paramètres principaux de WP Cerber, réglez "Load security engine" sur "Standard mode" ou "Advanced mode".
- 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 toute la ligne. Voici à quoi cela devrait ressembler :
// define( 'WP_DEBUG', true );
// define( 'WP_DEBUG', 1 ); - 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 la cause du problème ?
Non. Le seul code qui peut causer ce problème est soit un plug-in obsolète/bogué, soit le thème actif. Comment trouver la cause première ? Vérifiez le journal des erreurs du serveur. Et s'il vous plaît, débarrassez-vous des plugins obsolètes.