Aller au contenu

durée de sessions


izico

Sujets conseillés

Bonjour

Question technique:

les sessions PHP expirent-elles automatiquement au bout d'un certain temps si un internaute ne navigue plus sur le site mais laisse un fenetre navigateur ouverte avec le site ? (je sais pas si c'est très clair :blink: )

Peut-on modifier cette durée sur un parametre de l'hebergement?

Merci

Modifié par izico
Lien vers le commentaire
Partager sur d’autres sites

Salut Vincent,

Les sessions sont paramétrables lorsque tu utilises les cookies.

Un cookie a une durée de vie (ou plutôt une date d'expiration) que tu définis lors de la création:

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]] )

La "date" d'expiration se met au format donné par la fonction time(), donc une date mise à time()+86400 lui donnera une durée de vie de 24 heures.

Donc, l'appel à

setcookie("moncookie","test",time()+3600);

créera un cookie nommé "moncookie" avec une valeur "test" pour une durée d'une heure.

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan

En fait sur une boutique oscommerce que j'ai et qui utilise les sessions, je me suis apperçu que certaines commandes étaient 'perdu' lorsque le client était trop long a valider sa commande, parce qu'il va sur d'autres sites, va manger ou ... avant de confirmer sa commande.

Donc je me demandais si ca pouvait pas venir des sessions. et bien visiblement non. C'est dommage ca m'aurait bien arrangé. ^_^

Enfin merci pour ta réponse Dan

Lien vers le commentaire
Partager sur d’autres sites

Ca peut être dû aux sessions, si OsCommerce utilise les cookies, ce qui ne serait pas surprenant.

Fais une recherche pour le mot setcookie dans le code source, tu verras.

Lien vers le commentaire
Partager sur d’autres sites

Si tu utilises mysql pour les variables de session, tu as un bout de code dans le fichier functions/sessions.php, tout en haut:

 if (STORE_SESSIONS == 'mysql') {
  if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
    $SESS_LIFE = 7200;
  }

Il faut mettre la durée en secondes, ici cela correspond à 2 heures.

Je te déconseille de mettre des temps plus longs pour une boutique en ligne ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

  • 8 months later...

Bonjour,

J'ai une question du même type, mais comme personne n'a répondu dans cette discussion, je la repose :

Peut on, sur un hebergement mutualisé, changer (pour son site) les paramettres du phpini, et notamment la durée de vie des sessions ou la durée maxi d'un script ?

Il me semble qu'avec un htaccess, on peut faire des choses, mais je n'ai rien trouvé de précis sur la question.

Merci de vos lumières.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...