Erreur session_start() - improbable !
Résolu
Alexkidd
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je réalise une application intranet dans le cadre d'un stage.
J'ai tout fais en local sur mon PC et tout fonctionne.
Je test actuellement sur l'intranet et j'ai un problème avec le session_start().
A force d'enlever du code pour voir ce qui fait buguer le programme j'en suis venu à ça :
Mon fichier index contient 1 seule ligne qui est :
<?php session_start(); ?>
Autant dire qu'il n'y a rien d'afficher avant là. Et pourtant j'ai l'erreur suivante :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\blablabla\www\intranet3\index.php:1) in C:\blablabla\www\intranet3\index.php on line 1
J'ai forcément besoin de session pour mon application, et j'aurai besoin de votre aide pour trouver une solution s'il vous plait. Parce que là je comprend plus rien.
Pour info :
Apache 2.0.59
PHP 5.2.3
Je test actuellement sur IE6 (Navigateur majoritaire dans cet établissement)
Je réalise une application intranet dans le cadre d'un stage.
J'ai tout fais en local sur mon PC et tout fonctionne.
Je test actuellement sur l'intranet et j'ai un problème avec le session_start().
A force d'enlever du code pour voir ce qui fait buguer le programme j'en suis venu à ça :
Mon fichier index contient 1 seule ligne qui est :
<?php session_start(); ?>
Autant dire qu'il n'y a rien d'afficher avant là. Et pourtant j'ai l'erreur suivante :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\blablabla\www\intranet3\index.php:1) in C:\blablabla\www\intranet3\index.php on line 1
J'ai forcément besoin de session pour mon application, et j'aurai besoin de votre aide pour trouver une solution s'il vous plait. Parce que là je comprend plus rien.
Pour info :
Apache 2.0.59
PHP 5.2.3
Je test actuellement sur IE6 (Navigateur majoritaire dans cet établissement)
A voir également:
- Erreur session_start() - improbable !
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
- Comment recuperer whatsapp supprimé par erreur - Guide
8 réponses
Avec quoi écris-tu ta ligne de php ? Avec notepad++, en UTF8 ? Alors il faut l'enregistrer en UTF8 SANS BOM (le BOM est un caractère invisible ajouté en début de fichier)
(ou enregistrer en ANSI)
(ou enregistrer en ANSI)
Nabla's
Messages postés
18203
Date d'inscription
Statut
Contributeur
Dernière intervention
3 193
ou voir meme le faire avec notepad de windows... juste pour être sur ;)
salut
il faut mettre cette ligne en toute premièreligne du code, sans meme une ligne blanche avant
sinon, je croi qu'il y a une option dans apache pour différer l'emission des headers, mais en mettant la ligne tout en haut du fichier php ca devrai passer
headers already sent -> signifie que du code a déja été envoyé au client
il faut mettre cette ligne en toute premièreligne du code, sans meme une ligne blanche avant
sinon, je croi qu'il y a une option dans apache pour différer l'emission des headers, mais en mettant la ligne tout en haut du fichier php ca devrai passer
headers already sent -> signifie que du code a déja été envoyé au client
Le souci, c'est que c'est la seule et unique ligne du fichier là. Il n'y a rien avant et rien après. juste :
<?php session_start(); ?>
Donc je comprends rien.
<?php session_start(); ?>
Donc je comprends rien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Rien de rien.
Le tout premier caractère est : <
Le fichier est complètement vidé à part cette instruction php.
C'est assez pénible comme problème.
Le tout premier caractère est : <
Le fichier est complètement vidé à part cette instruction php.
C'est assez pénible comme problème.
Je l'avais tapé avec dreamweaver, puis modifié avec notepad++ et ouvert avec le bloc note de windows pour vérifier si il y avait un caractère que je ne voyait pas mais non.
Puis finalement sur tes conseils le père, j'ai converti le fichier en UTF8 sans BOM avec np++ et ça marche impecable. Je ne connaissait pas ça le BOM (mais pourquoi il existe d'ailleur ?!.. enfin bref...)
Merci à vous deux pour m'avoir aidé à trouver une solution.
Ciao et bonne aprem à vous.
Puis finalement sur tes conseils le père, j'ai converti le fichier en UTF8 sans BOM avec np++ et ça marche impecable. Je ne connaissait pas ça le BOM (mais pourquoi il existe d'ailleur ?!.. enfin bref...)
Merci à vous deux pour m'avoir aidé à trouver une solution.
Ciao et bonne aprem à vous.
merci au père, je ne connaissait pas ;) je voyais bien que qqch avait été envoyé, mais je savais pas quoi ;) je ne connaissait pas le BOM
les conseils que je t'ai doné sur le cache peuvent etre utile pour ouvrir une session, ou envoyer un cookie (qui sont dans les entetes HTTP) alors que les entetes sont déja sencé être parties...
en revanche, il faudra attendre que la page soit complètement créer pour qu'elle part chez le client
les conseils que je t'ai doné sur le cache peuvent etre utile pour ouvrir une session, ou envoyer un cookie (qui sont dans les entetes HTTP) alors que les entetes sont déja sencé être parties...
en revanche, il faudra attendre que la page soit complètement créer pour qu'elle part chez le client
Pour le rôle du BOM (Byte Order Mark), voir l'article de wikipedia sur l'Unicode :
https://fr.wikipedia.org/wiki/Unicode#GB18030
https://fr.wikipedia.org/wiki/Unicode#GB18030
oui, j'étais allé y faire un tour. il a meme son article dédié (en anglais)
https://en.wikipedia.org/wiki/Byte_Order_Mark
https://en.wikipedia.org/wiki/Byte_Order_Mark