PHP : Erreur headers already sent on line 1
Posté 07/12/2007 à 11:37h - 0 commentaires - 225 lectures
Petit partage d'expérience sur une erreur php que j'ai eu à corriger hier et qui m'a occupée un bon gros moment, une redirection via headers ne fonctionnait pas m'annonçant que ceux-ci avaient déjà été envoyés via la ligne 1 de mon script... Cependant sur cette ligne il n'y avait rien d'autre que mon tag d'ouverture.
La première étape consiste donc à vérifier que mes fichiers précédemment inclus ne contiennent aucun "echo" ou lignes blanches après ou avant les tags php, tel n'est pas le cas.
Le seconde étape consiste à vérifier que mon hébergeur n'inclus pas de fichier automatiquement avant mes scripts et que mes sessions ne sont pas démarrées automatiquement, je place donc ces éléments au début de mon script :
echo ini_get("auto_prepend_file")
echo ini_get("session.auto_start")
Toujours pas le cas... Cela commence à devenir complexe...
Après quelques temps passé sur google en tentant plusieurs combinaisons de mots clefs pour espérer trouver une solution, je tombe sur quelque chose qui me parrait être un possibilité. Des caractères erronés invisible en affichage texte mais pas en héxadécimal...
Je me lance donc dans cette piste, j'ouvre mon fichier "index.php" via notepad++, pas de problème tout va bien il à l'air normal. Puis je lance l'édition hexadécimal de celui-ci via l'éditeur intégré du logiciel... Et là surprise ! Avant le tag d'ouverture php ("
Ces 3 caractères visibles seulement en hexadécimal étaient bien ceux qui faisaient que les headers ne pouvaient être réenvoyés...
Inutile de dire que je trouve cette petite coquille bien difficile à diagnostiquer, et vraiment loin d'être évidente à corriger pour un utilisateur débutant. Cela dit je pense qu'une des causes possible à cette erreur soit le passage d'un encodage ISO vers un encodage UTF-8 du fichier... Donc un cas que l'on pourrait dire particulier.
J'en fais tout de même un billet afin que la prochaine personne à qui cela arrivera passe moins de temps que moi à chercher sur google.
Continuez votre lecture avec des articles sur des sujets proches :
- Extension FireNainwak pour Firefox 3 en téléchargement
- Faire fonctionner une extension Firefox 2 sous Firefox 3 : exemple Firenainwak.
- Petits ajustements graphiques et corrections sur le site.
- Nouveau design et nouvelles fonctionnalités pour AtlzA.com
- Présentation du prochain design de AtlzA.com
Contenu similaire :
Par catégories : Développement web
Par tags :

