Pb de session.cache_limiter et de site en ligne [Résolu]

Signaler
Messages postés
194
Date d'inscription
lundi 11 juillet 2005
Statut
Membre
Dernière intervention
13 avril 2007
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Hello !



Je travaille en localhost avec easyphp (hé je suis débutant).

J'obtiens toujours ce message d'erreur pointant sur session_start() :



Warning: session_start(): Cannot send session cache limiter -
headers already sent (output started at c:\program
files\easyphp1-8\www\essais\web design\index.php:2) in c:\program files\easyphp1-8\www\essais\web design\index.php on line 4



Bon j'ai cherché et j'ai trouvé dans le php.ini la ligne session.cache_limiter qui était égal à nocache.

Mais si je l'a met égale à rien je n'ai plus ce message d'erreur, mais
je voudrai savoir à koi elle sert vraiment et si la mettre egale à rien
pose un pb?



Au passage si je veux mettre mon site en ligne pour ne plus bosser en
localhost (qui est embêtant pour les tests sur sessions lol)

Est ce qu'on est obligé de passer par un fournisseur d'accès pour mettre un site en ligne?

Merci!!

7 réponses

Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

tu mets ob_start(); tout en début de script et
ob_end_flush(); tout en fin de script

ou alors

tu mets session_start tout en haut de ton script

(quans je dis tout en haut, je veux dire qu'il n'y a pas de HTML, même pas un espace en haut de ta page. La page commence par les caractères <? ...)
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
session_start() est un en-tête.

Laissons les en-têtes la où elles doivent être !



Donc session_start se met AVANT n'importe quelle sortie au navigateur du client... (code html, echo() etc...)



La lisibilité est bien meilleur plutot que de faire du ob_start()/ob_end_flush() avec des en-tête en plein milieu des pages... !
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

Je dirais même plus, la page commence par les charactères <?php ...
Messages postés
194
Date d'inscription
lundi 11 juillet 2005
Statut
Membre
Dernière intervention
13 avril 2007

au passage cette fonction ne change rien au fonctionnement?

Elle enregistre juste les données un moment et les bascules au navigateur à ob_end_flush() ?
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

normalement. menfin on peut lire

Solution: unless you really need it in particular cases, remove the ob_end_flush() call and rely on the builtin, automatic buffer flush.

(http://fr.php.net/ob_end_flush)
Messages postés
194
Date d'inscription
lundi 11 juillet 2005
Statut
Membre
Dernière intervention
13 avril 2007

content de te revoir mcjoedassin, j'ai sifflé là haut sur la colline et tu m'as entendu ! :)

thks pr l'info.

+
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



"

au passage cette fonction ne change rien au fonctionnement?"



Non, sauf qu'elle te permet de faire bien plus que lorsque tu ne
l'utilises pas. Tu peux ainsi avant d'envoyer le HTML au navigateur le
traiter via la fonction ob_get_contents(), etc... tu peux faire plein
de trucs utiles avec ça :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>