Citation :
satanas a écrit:
Alors, petit complément suite à mes recherches dans le code de la version 1.0.13.2
Il existe une fonction gc() défnine dans le fichier session.php qui sert de 'Garbage Collector'
Elle efface en fait toutes les entrées de la table session qui ont une expiration plus grande que le parametre passé.
Le seul endroit dans le code xoops ou cette fonction est appelée est dans system_block.php et en fait la fonction gc(300) est appelée lors de l'affichage du block qui est en ligne!!!!!!!!
En fait, la table session est 'nettoyée' par 3 moyens:
1) Un utilisateur enregistré utilise la déconnection, sa session est effacée, mais une nouvelle anonyme est créé
2) Un utilisateur reste connecté sans rien faire durant un laps de temps plus grand que la durée max d'une session, et là, si l'utilisateur refait une manipulation sur le site, l'ancienne session est effacée et une nouvelle est crée. Par contre si il ne revient pas sur le site, l'entrée dans la table reste!
2) si le block 'qui est en ligne' est affiché, toutes les sessions de plus de 300 minutes sont automatiquement effacées.
Je penses donc que là, il y aurait une chose a faire pour que xoops fasse l'auto maintenance de sa table session!!!!
Mertci Satanas,
Mettre session personnalisée à "oui" danns les prefs n'a rien donné.
Je n'utilise pas le bloc "qui est en ligne" et de tte façon, comme dit plus haut, il n'y a pas d'utilisateurs enregistrés sur ce site ( à part qq admins), il n'y a que des anonymes.
J'ai remplacé ce matin le fichier session.php au cas ou il aurait été corrompu.
Petite indication qui a peut être son importance
Mon site repose sur 2 xoops (1x 2.0.9.2 et 1x 2.0.14) il y en a un qui est mirroir de l'autre et sur lequel sont installés quelques modules (histoire de ne pas tout avoir sur la même base)
J'ai transféré ces 2 xoops sur le même serveur l'un derrière l'autre et le problème ne se pose que pour la version 2.0.14 ?? :-o