question sur les sessions???

Eléphant du PHP | 181 Messages

23 mars 2006, 18:41

bonjour,

j'ai juste une petite question sur les sessions.

les sessions se stock dans un dossier tmp. est-ce que les sessions sont supprimees au bon d'un certain temps??

y-a-til un moyen de supprimer les sessions expirees (dates passees de jour) ou c'est pas conseille??

merci de vos reponses

Eléphanteau du PHP | 46 Messages

26 mars 2006, 21:51

Tout dépend de la configuration de ton php.ini, regarde la partie "session"

Eléphant du PHP | 181 Messages

28 mars 2006, 11:23

Tout dépend de la configuration de ton php.ini, regarde la partie "session"
je m'imaginais bien que ca se trouvais la dedans mais plus precisement quelle ligne???

j'y comprend rien a toutes ces lignes... yen a bien une de specifique au temp ou date de stockage de la session??

si qqn pouvais m'aider svp... merci

edison1986
Invité n'ayant pas de compte PHPfrance

28 mars 2006, 11:41

oui il y a un moyen de suprimer les session manuellement :
session_destroy();
unset($_SESSION);
c est tres pratique lorsque tu utilise les sessions pour identifier un utilisateur sur ton site et tu detrui la session manuelement lorsqu il veut se deconecter...
sinon pour la dure d une session tu modifi cette ligne :

Code : Tout sélectionner

session.gc_maxlifetime = 1440
la valeur est en seconde...

Eléphant du PHP | 181 Messages

28 mars 2006, 11:50

ok merci pour vos reponses....

mais en faites ce que je veux savoir c'est combien de temps ma variable session reste dans le dossier session ou tmp???

si on ne fait pas un destroy elle reste stokee combien de temps???

faut obligatoirement les supprimer manuellement ou apres x temps elles sont supprimees autimatiquement???

merci pour vos aides.

Eléphant du PHP | 86 Messages

28 mars 2006, 12:11

sinon pour la dure d une session tu modifi cette ligne :

Code : Tout sélectionner

session.gc_maxlifetime = 1440
la valeur est en seconde...

tu sai lire ??? j est repondu a ta question en modifiant cette ligne tu defini le temp que ta session reste valide ici 1440 s si tu veut qu elle dure une minute tu modifi la ligne comme sa :

Code : Tout sélectionner

session.gc_maxlifetime = 60
a tu compri cette fois ???

Eléphant du PHP | 181 Messages

28 mars 2006, 14:17

ok ca j'ai compirs merci

ca me dit combien de temps ma session est valid....

mais comment supprimer le fichier de session qui se trouve dans le dossier tmp ou session???

ou on peut les laisser sans sans soucier??? par ce que j'ai de session qui date de ya un moi et peut etre qu apres un certain temps c'est bien de tout supprimer???

je sais pas si c'est bien clair ce que je pose comme question.

dans ton dossier tmp ou session ya des fichier sess_2jdgf2390sejfjklt34905

est-ce que ces fichier se suppriment apres un certain temp seul ou fait le faire manuellement??? ou alors c'est pas important de les laisser???

merci pour tes reponses edison1986 :wink:

Eléphanteau du PHP | 11 Messages

30 mars 2006, 00:36

Dis Ruly, tu utilises Easyphp ?

Si oui il semble normal que les fichiers de sessions ne soient pas effacés malgré l'utilisation de 'session.gc_maxlifetime'...

J'ai moi aussi le même problème et apparement personne ne sait vraiment pourquoi...

ViPHP
ViPHP | 1380 Messages

30 mars 2006, 08:05

J'ai moi aussi le même problème et apparement personne ne sait vraiment pourquoi...
Si, si! PHP, lui, il sait!
session.gc_probability entier
Spécifie la probabilité, exprimée en pourcentage, en conjonction de session.gc_divisor, que la routine gc (garbage collection) soit démarrée à chaque requête. La valeur par défaut est 1. Voir session.gc_divisor pour plus de détails.

session.gc_divisor entier
session.gc_divisor en conjonction avec session.gc_probability définit la probabilité que la routine gc (garbage collection) soit démarrée à chaque début de session. La probabilité est calculée en utilisant gc_probability/gc_divisor, par exemple 1/100 signifie qu'il y a 1 % de chance pour que la routine gc démarre à chaque requête. La valeur par défaut est 100.

session.gc_maxlifetime entier
Spécifie la durée de vie des données sur le serveur, en nombre de secondes. Après cette durée, les données seront considérées comme obsolètes, et supprimées. (ndr: c-à-d que le GC fasse sont travail de nettoyage)
http://be2.php.net/manual/fr/ref.session.php
ripat

Eléphant du PHP | 181 Messages

30 mars 2006, 11:21

le developpement je le fais sur easyphp mais meme sur le serveur prod ca marche pas

pourtant les parametres sont les memes que la dessus...

et 1440 sec = 24 minutes donc je devrais plus avoir de sess_fdgiejfjgf de ya 10 jours ???

est-ce qu'il y a autres chose a modifier??? ou a decommenter???

merci d'avance

ViPHP
ViPHP | 1380 Messages

30 mars 2006, 11:30

Relis bien l'extrait de la doc de mon post.

session.gc_maxlifetime détermine à partir de quand un fichier de session est marqué comme obsolète.

Ca ne veut pas dire qu'il sera effacé. L'effacement, c'est le boulot du GC (Garbage Collection - "Traitement des déchets" traduc libre...).

La probabilité que celui-ci s'y mette, dépend du rapport gc_probability/gc_divisor. S'il est à 100%, il effacera les fichiers de session marqués comme obsolètes dès l'ouverture d'une nouvelle session.
ripat

Eléphant du PHP | 181 Messages

30 mars 2006, 11:50

yes merci ripat....

j'avais pas trop ocmpris les 2 ligne d'avant mais avec 2-3 test et ton explication c clair et ca amrche nikel...

merci bcp pour vos aides... c super cool :wink: