Maison > développement back-end > tutoriel php > Pourquoi est-ce que je reçois l'avertissement « En-têtes déjà envoyés » en PHP ?

Pourquoi est-ce que je reçois l'avertissement « En-têtes déjà envoyés » en PHP ?

Patricia Arquette
Libérer: 2024-12-26 08:58:09
original
872 Les gens l'ont consulté

Why Am I Getting the

Avertissement : Impossible de modifier les informations d'en-tête - En-têtes déjà envoyés

Cet avertissement peut être vu dans les scripts PHP lorsque vous tentez de modifier l'en-tête HTTP après qu'il ait déjà été envoyé au client. Par défaut, PHP envoie l'en-tête lorsqu'une sortie est envoyée au serveur Web.

Pour résoudre cet avertissement, déplacez le code d'envoi de l'en-tête avant qu'une sortie PHP ne soit générée. Vérifiez chaque objet dans le code pour détecter toute sortie PHP cachée dans les fonctions, méthodes et boucles.

Par exemple, considérons ce modèle :

<html>
  <?php session_start(); ?>
  <head><title>My Page</title>
</html>
Copier après la connexion

Ce code provoquera un en-tête déjà envoyé avertissement puisque la fonction session_start() envoie un cookie de session avant le l’élément est envoyé. Pour résoudre ce problème, déplacez session_start() en haut du fichier.

Il est également important de noter que les espaces vides, les nouvelles lignes ou d'autres caractères invisibles avant les balises PHP d'ouverture ou de fermeture peuvent déclencher cet avertissement.

Si votre code utilise plusieurs blocs PHP, assurez-vous qu'il n'y a pas d'espace entre eux. Les marques d'ordre d'octets (BOM) dans l'encodage du code peuvent également être à l'origine du problème.

Voici quelques références connexes pour une enquête plus approfondie :

  • [En-têtes déjà envoyés par PHP](https : //www.php.net/manual/en/function.headers-already-sent.php)
  • [Tous les "en-têtes PHP déjà envoyées" Questions sur Stack Overflow](https://stackoverflow.com/search?q=headers déjà envoyés)
  • [Byte Order Mark](https://en.wikipedia.org/wiki/Byte_order_mark)
  • [Ce que créent les fonctions PHP Sortie ?](https://stackoverflow.com/questions/263249/what-php-functions-create-output)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal