begin process at 2012 05 29 01:00:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Server Web

 > 

Apache

 > 

Destruction automatique des fichiers de sessions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Destruction automatique des fichiers de sessions

vendredi 26 janvier 2007 à 10:12:56 | Destruction automatique des fichiers de sessions

Flachy Joe

Salut,
j'ai vu dans la doc de php que les fichiers de sessions (qui stockent les variables pour chaques sessions) sont sensés se détruire automatiquement (à l'ouverture de n'importe quelle session) si la session est fermée et qu'un certain temps est passé. Or chez moi (Apache 2 sous Mandriva 2007, php 5.1.6) ces fichiers restent.
Ça m'embete bien puisque j'utilise une base de donnée (et non les fichiers) pour enregistrer les infos des utilisateurs et qu'avec mon script un nouveau fichier de session est créé à chaque connexion.

Est ce que je doit me débrouiller pour suprimer les fichiers ou est ce qu'il vaut mieux que je les recyclent (en réutilisant les id de sessions déjà créés) ?

Dans mon script la session est crée avant la vérification de l'identité de l'utilisateur. Donc une erreur de login crée aussi une session, qui est détruite juste apres avec session_destroy, mais le fichier reste.

Merci pour votre aide.

Flachy Joe
vendredi 26 janvier 2007 à 13:36:42 | Re : Destruction automatique des fichiers de sessions

FhX

Réponse acceptée !
"j'ai vu dans la doc de php que les fichiers de sessions (qui stockent les variables pour chaques sessions) sont sensés se détruire automatiquement", oui, c'est le GC qui s'occupe de ca tout seul.
Il se fait appeler 1 fois sur 100.

"Est ce que je doit me débrouiller pour suprimer les fichiers ou est ce qu'il vaut mieux que je les recyclent (en réutilisant les id de sessions déjà créés) ?"Nan, il faut juste configurer ton GC.

"Ça m'embete bien puisque j'utilise une base de donnée (et non les fichiers)"
Il faut que tu utilises session_set_save_handler() pour utiliser autre chose qu'un système de fichier pour les sessions :) La fonction de gc() y est également présente :)
vendredi 26 janvier 2007 à 22:40:00 | Re : Destruction automatique des fichiers de sessions

Flachy Joe

Salut,
je n'utilise pas le session_set_save_handler, parcequ'en fait ça m'arrange bien d'utiliser le double systeme : je ne vais chercher les infos dans la base de donnée que lors de la création de la session, ensuite elle reste valide en utilisant le fichier.

Je ne connaisait pas le Garbage Collector...
Donc récapitulons :
A chaque ouverture de session, le GC à session.gc_probability / session.gc_divisor chances de démarrer (par défaut 1/100) et de supprimer les fichiers ayant plus de session.gc_maxlifetime secondes (par défaut 1440). Donc si je ne modifie pas ces valeurs par défaut il se peut que j'attende longtemps avant que quoi-que-ce-soit soit supprimé...
(cf. [ Lien ] )

Merci FhX.

Flachy Joe
samedi 27 janvier 2007 à 16:30:26 | Re : Destruction automatique des fichiers de sessions

FhX

Oui, car si tu fait du GC un peu trop souvent, tu te retrouves avec des pertes de temps dû à une vérification et à une suppression d'une éventuelle session.

1/100 est a priori assez recommandé... j'avais essayé un système basé sur SQL en faisant une suppression de session à chaque fois qu'un visiteur rentre sur mon site ou change de page. Imagine 10 visiteurs qui consultent 5 pages chacun ==> 50 requètes de DELETE !!!
Avec le GC, 1 requète avec un peu de chance :)

Ca fait de l'économie, ca c'est sur ^^
lundi 29 janvier 2007 à 08:03:26 | Re : Destruction automatique des fichiers de sessions

malalam

Administrateur CodeS-SourceS
Hello,

juste une petite incursion pour un conseil : quand on a un serceur dédié, sur lequel potentiellement on hébergera plusieurs sites, et qu'on a besoin de modifier pour un site la façon dont fonctionnent les session, il vaut mieux isoler les sessions de ce site dans un répertoire qui lui sera propre. La raison étant que, par exemple, si on modifie le comportement des sessions pour qu'elles ne soient effacées que toutes 8h, mais qu'on a d'autres sites au comportement par défaut de ce côté-ci, le site modifié verra ses fichiers de session nettoyer au même rythme que les autres car le GC des autres sites (configuré par défaut) ne fera pas la distinction entre les fichiers de session de tel ou tel site.

lundi 29 janvier 2007 à 08:40:26 | Re : Destruction automatique des fichiers de sessions

Flachy Joe

@ malalam : Pas bête. C'est pas mon cas, je teste juste sur le serveur local avant de mettre en ligne...

Flachy Joe


Cette discussion est classée dans : fichiers, session, automatique, sessions, destruction


Répondre à ce message

Sujets en rapport avec ce message

session [ par fofolle ] j'ai easyphp 1.7 et j'ai configurer php.ini en session auti-startdonc sur chaque lien je passe mes variables de sessions pour que ca fonctionnne se qu destruction de session ne marche plus?? [ par navya ] Bonjour tout le monde!!Voila mon problème, je créer un site Intranet pour mon stage et au tout début tout fonctionnait avec les sessions dans la parti destruction automatique d'une session [ par samsso ] comment detruire automatiquement une session? Écrire dans les fichiers sessions [ par Arto_8000 ] Bon petite introduction sur mon projet. Je suis entrain de faire un chat en ajax, il fonctionne a merveille sauf l'option qui me permet de change le m création/destruction variables sessions [ par putch ] salut à tous !une petite question sur les variables de sessions :je voulais juste savoir si ma manière de coder etait "correcte" et "propre" :creation Destruction des variables SESSION [ par l2woyo ] Bonjour à tous Donc j'ai fais des testes. Lorsque je cliquais sur le bouton déconnexion, les variables sessions semblaientêtre détruites. Cependant, l renomage automatique des fichiers [ par gretata ] Bonjour a tous je voudrais savoir si vous avez un petit bout de code, pour renomer des fichiers automatique, exemple j'upload une image appelé Mike Comment gérer 2 sessions différents [ par yannuts ] Salut tout le monde,J'ai un probleme sur mon site.J'utilise une session pour savoir si les utilisateurs sont connecter etune autre session pour la bou Problème de session [ par speedkiller ] Bonjour, j'ai un problèùme avec les sessions, ça n'a pas l'air de vouloir fonctionner chez moi:Voici le code des pages:verifLogin.phpsession_start();/ [BUG] Plusieurs sessions avec le même SID ouvertes en même temps provoque un freeze de l'interpréteur. [ par Flachy Joe ] Salut,le contexte : j'ai un script qui ouvre une session, enregistre des paramètres dedans et la ferme. Puis par l'intermédiaire de javascript je lanc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 10,795 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales