Problème avec ini_set('session.gc_maxlifetime', time);

Eléphant du PHP | 81 Messages

11 mai 2006, 11:48

Bonjour à tous,

J'ai besoin d'augmenter la durée de mes sessions sur mon site. Pour ceci j'utlise la fonction ini_set()

Mon problème c'est que la durée de session n'a pas changée, au bout de 30min d'inactivité, j'ai été virée du site alors je j'ai mis 14400

Voici comment je l'utilise :
ini_set('session.gc_maxlifetime', 14400);
session_start();
Je colle le code en haut de page.

Quelqu'un aurait il une solution ?

Merci
Pierre

Mammouth du PHP | 1353 Messages

11 mai 2006, 12:00

Bonjour,

je ne sais pas si cela t'aidera mais vraisemblablement il y a un bug IE à ce sujet et il faut rajouter la ligne :

Code : Tout sélectionner

header("Cache-control: private");
En espérant que ça puisse être utile...

Eléphant du PHP | 81 Messages

11 mai 2006, 12:22

Meci pour l'info,
j'ai fais mon test sur firefox et lorsque je fais un phpinfo() 14400 est bien pris en compte.
Le header doit être placé en haut de mon code ?

Mammouth du PHP | 1353 Messages

11 mai 2006, 12:56

Oui, au dessus de la ligne du ini_set(...)

Eléphant du PHP | 81 Messages

12 mai 2006, 09:39

Non décidement mes temps de sessions n'augmentent pas !!!
Pourtant dans phpinfo(), j'ai bien à la ligne session.gc_maxlifetime :

"Local Value" :14400 et "Master Value" : 1440

Quelqu'un aurait il une solution ???

Voici le code que je mets en haut de page :
header("Cache-control: private");
ini_set('session.gc_maxlifetime', 14400);
session_start();

Moot
Invité n'ayant pas de compte PHPfrance

22 mai 2006, 11:26

Tu peux aller voir :
http://www.captain.at/howto-php-sessions.php
Aussi, je pense que la master value écrase la local value ? A verifier...