IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

durée de vie d'une session


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 726
    Points : 352
    Points
    352
    Par défaut durée de vie d'une session
    comment rendre ma session d'une durée de vie à ma guise ?
    j'ai utilisé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('session.gc_maxlifetime', 60);
    puis j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['lifetime']=60
    mais aucun résultat quand j'affiche avec var dump le contenu de la session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(5) { ["lifetime"]=> int(0) ["path"]=> string(1) "/" ["domain"]=> string(0) "" ["secure"]=> bool(false) ["httponly"]=> bool(false) }

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 726
    Points : 352
    Points
    352
    Par défaut
    voilà mon but est de fermer la session(l'utilisateur se déconnecte automatiquement) après une durée de vie, j'ai essayé ça dans le fichier php.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    session.cache_limiter = private
    session.cache_expire = 1
    la session reste toujours ouverte

  3. #3
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Salut,

    La première solution semble la bonne (avec ini_set()), par contre c'est en seconde, du coup avec une durée de session à 60 tu te retrouves avec une session qui dure 1 minute (ce qui n'est pas beaucoup ).
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 726
    Points : 352
    Points
    352
    Par défaut
    merci pour la réponse,
    1 minute c'est uniquement pour tester, le problème après 1 minute je suis toujours connecté, la session ne se ferme pas.

  5. #5
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Oui c'est normal, parce que tu exerces peut-être une activité avec le serveur HTTP entre temps, donc tu ajoutes 1 minute à chaque fois que tu valides un formulaire par exemple (tu ne les accumulent pas, c'est juste que le temps restant remonte à 1 minute).
    De plus, même si tu fixes cette durée, cela ne signifie pas forcément que la session sera détruite.

    Si tu veux détruire ta session c'est simple, il faut la faire manuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    if($deconnexion == true){
        session_destroy();
    }
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    voilà mon but est de fermer la session(l'utilisateur se déconnecte automatiquement)
    donc tu ne peux utiliser le session_destroy.

    Par contre il se peut que le ' ini_set()' soit inactif car du côté du serveur Apache, il peut interdire la modification de certaine variables (à voir)

    En dernier, si la session utilise les cookies (et non un fichier), tu peux aussi regarder du côté de 'session.cookie_lifetime'
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 726
    Points : 352
    Points
    352
    Par défaut
    merci pour vos réponses,
    donc d'après ce que j'ai compris la session ne peut pas se détruire automatiquement après une période de temps d'inactivité.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Paramétrer la durée de vie d'une session système
    Par Dosseh dans le forum Administration système
    Réponses: 4
    Dernier message: 16/07/2007, 13h23
  2. Durée de vie d'une session
    Par scorpion.os dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2007, 15h22
  3. Durée de vie d'une session
    Par khokho dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 28/06/2006, 21h31
  4. Réponses: 3
    Dernier message: 27/04/2006, 11h37
  5. Durée de vie d'une session
    Par dbass dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2006, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo