Php Warning: Cannot modify header information
Résolu/Fermé
A voir également:
- Cannot modify header information - headers already sent by
- Warning: cannot modify header information - headers already sent by - Meilleures réponses
- Cannot modify header information - headers already sent by (output started at - Meilleures réponses
- Php Warning: Cannot modify header information ✓ - Forum - PHP
- PHP - Headers already sent by..... - Conseils pratiques - PHP
- Cannot modify header information - headers already sent by - Forum - Wordpress
- Warning: Cannot modify header information - headers already sent by ✓ - Forum - PHP
- Cannot modify header information - headers already sent by ✓ - Forum - PHP
28 réponses
kilian
24 janv. 2005 à 07:20
- Messages postés
- 8731
- Date d'inscription
- vendredi 19 septembre 2003
- Statut
- Modérateur
- Dernière intervention
- 20 août 2016
24 janv. 2005 à 07:20
Salut,
Ca signifie que du code Html a déjà été généré (ça viendrait de la 26 ème ligne de config.php ....mais il en fait beaucoup moins, c'est bizzare).
Car la fonction header doit être appelée avant la génération de la moindre mise en page.
Au pire, tu peux remplacer ta ligne avec header() par une redirection javascript
Ca signifie que du code Html a déjà été généré (ça viendrait de la 26 ème ligne de config.php ....mais il en fait beaucoup moins, c'est bizzare).
Car la fonction header doit être appelée avant la génération de la moindre mise en page.
Au pire, tu peux remplacer ta ligne avec header() par une redirection javascript
<? echo '<script language="Javascript"> <!-- document.location.replace("$www"); // --> </script>'; ?>
18 févr. 2007 à 14:35
Ce message d’erreur indique que vous tenter d’écrire des entêtes HTML, alors que le corps de la page a déjà été enrichi.
En plus clair :
Votre script php a généré par exemple
Echo ‘ bonjour,’
Et ensuite dans votre script apparaît une ligne du genre
Header (‘une entête….’)
D’une manière générale il faut éviter ce genre de chose (pour des raisons de performances) mais ce n’est pas rédhibitoire.
Premièrement, faite phpinfo() et vérifier le paramètre output_buffering, il est certainement à off
Il faut le modifier (dans php.ini) il lui attribuer une valeur 1024, 2048 ou 4096 voire on
Il faut aussi penser à redémarrer apache.
Cela veut dire, ( par exemple 4096), que vous enregistrer dans un BUFFER pour un maximum 4096 octets de code de votre page, donc qui ne sont pas encore envoyé vers la sortie standard.
Tant que votre script écrit dans le BUFFER vous pouvez rajouter des entêtes par la commande header. Ensuite le BUFFER envoi en bloc vers vote navigateur
Evidement, tout ceci n’est valable que si vous avez la maîtrise du php.ini. dans le cas des hébergements mutualisés il n’est pas possible de modifier ce paramètre…
www.actonis.fr
25 févr. 2009 à 02:27
1 sept. 2009 à 18:22
17 août 2010 à 11:11
15 juin 2011 à 13:17