Sujet : Suppression du garbage collector de PHP

Bonsoir,

Le garbage collector de PHP (4 et 5), qui est censé effacer les vieilles sessions du serveur, a été désactivé sur le serveur. En effet, les sessions sont stockées dans le répertoire /tmp (par défault) et ce répertoire doit donc être accessible à tout le monde en écriture.

Or, pour empêcher que tout un chacun puisse lire l'identifiant de vos sessions (et donc prendre par exemple le rôle d'administrateur sur votre site / blog / forum), le répertoire /tmp n'est pas accessible en lecture.

Tout ceci est très bien me direz vous mais où est le problème ?
Et bien le problème est que le garbage collector de PHP ne peut pas lister les fichiers de ce répertoire, et donc ne peut pas déterminer quelles sessions il doit effacer.

J'ai donc désactivé ce garbage collector et l'ai remplacé par un script qui supprimera vos vieilles sessions non utilisées (non modifiées de 2 jours). Pour rappel, PHP efface ces sessions au bout de 24 minutes.

Si toutefois vous aviez une configuration différente sur votre site, et que vos sessions se trouvent dans le répertoire de votre site, vous devriez réactiver le garbage collector si vous voulez pouvoir vider 'naturellement' ce répertoire.

Pour se faire, ajouter simplement la ligne suivante dans vos scripts:

<?php

ini_set('session.gc_probability', '1');


Bonne soirée à toutes et a tous, questions bienvenues smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."