Pb de session.cache_limiter et de site en ligne

Résolu
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 10 août 2005 à 12:05
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 10 août 2005 à 14:55
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

mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
10 août 2005 à 12:11
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 <? ...)
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
10 août 2005 à 12:36
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... !
3
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
10 août 2005 à 12:12
Je dirais même plus, la page commence par les charactères <?php ...
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
10 août 2005 à 12:39
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() ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
10 août 2005 à 12:42
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)
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
10 août 2005 à 12:45
content de te revoir mcjoedassin, j'ai sifflé là haut sur la colline et tu m'as entendu ! :)

thks pr l'info.

+
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
10 août 2005 à 14:55
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>
0