Problème PHP 'headers already sent'

Résolu/Fermé
ACervoise Messages postés 216 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 21 juin 2010 - 1 mars 2010 à 19:59
ACervoise Messages postés 216 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 21 juin 2010 - 25 mars 2010 à 22:31
Bonjour,

Je travaille actuellement sur un site utilisant des sessions. Le site est en php, encodé en UTF8. J'utilise Eclipse PHP.

Lorsque je lance mon projet j'ai le message suivant qui apparait :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/site4/public_html/index.php:1) in /home/site4/public_html/lib_user.php on line 13

Je précise que le problème n'est pas du à une mauvaise position de mon session_start().

J'avais eu le même problème en local (Serveur LAMP Ubuntu 9.10), je l'avais réglé en passant le output buffering a On dans de php.ini. Cependant sur le serveur je n'ai plus accès au php.ini et la modification du output buffering via un .htaccess est impossible sur le serveur.

En trainant sur le net j'ai vu que cela pouvait provenir d'un problème d'encodage (j'utilise actuellement l'UTF8) et je devrais apparemment utiliser le UTF8 sans BOM. Malgré toute mes recherches je n'arrive pas à l'activer dans Eclipse.

Donc j'aimerai savoir si quelqu'un a une solution que ce soit du coté d'Eclipse ou bien du coté serveur.
A voir également:

4 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
1 mars 2010 à 20:46
Sur Eclipse je ne sais pas comment faire mais si tu es sous Windows tu peux télécharger Notepad++.

Sinon vérifies qu'il n'y ait pas de caractères externes au <?php ... ?> ou de echo avant l'appel à la fonction header()
0
ACervoise Messages postés 216 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 21 juin 2010 85
1 mars 2010 à 22:12
Nop en local je suis sous Linux,qui plus est j'utilise Eclipse pour pas mal de raisons pratique que notepad++ n'a pas (Subversive par exemple).

Et non il n'y a rien avant le session_start().
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
3 mars 2010 à 12:54
Avec Gnome tu as Gedit (l'éditeur de texte par défaut).
Il suffit de faire "enregistrer sous" puis tu pourras choisir l'encodage et écrasé l'ancienne version du fichier.
0
ACervoise Messages postés 216 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 21 juin 2010 85
25 mars 2010 à 22:31
Il y a deux solutions, la première est d'encoder en UTF8 sans BOM, la seconde est de passer le paramètre "output_buffering" à on dans php.ini.
0