debian php : suppression des fichiers de session (garbage collector)

Discussion dans 'Administration d'un site Web' créé par Toma, 26 Août 2010.

  1. Toma
    Toma WRInaute discret
    Inscrit:
    18 Janvier 2006
    Messages:
    217
    J'aime reçus:
    0
    Bonsoir,

    Je trouve que les explications du fichier de conf de php ne sont pas très claires concernant le garbage collector. Si quelqu'un pouvait m'expliquer ça serait cool.

    Je suis sous debian et j'utilise un session.save_path personalisé (sur un ramdisk). Voilà le bout de mon php.ini intéressant concernant les sessions :

    Code:
    ; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.
    
    ; This is disabled in the Debian packages, due to the strict permissions
    ; on /var/lib/php5.  Instead of setting this here, see the cronjob at
    ; /etc/cron.d/php5, which uses the session.gc_maxlifetime setting below.
    ; php scripts using their own session.save_path should make sure garbage
    ; collection is enabled by setting session.gc_probability
    session.gc_probability = 1
    session.gc_divisor     = 1000
    
    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 1440
    
    ; NOTE: If you are using the subdirectory option for storing session files
    ;       (see session.save_path above), then garbage collection does *not*
    ;       happen automatically.  You will need to do your own garbage
    ;       collection through a shell script, cron entry, or some other method.
    ;       For example, the following script would is the equivalent of
    ;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ;          cd /path/to/sessions; find -cmin +24 | xargs rm
    J'avais un problème de fichiers de session qui n'étaient pas supprimés (au passage, c'est plutôt vicieux de pas activer le GC par défaut...). J'ai donc décommenté la ligne "session.gc_probability = 1" et tout est rentré dans l'ordre. Par contre je ne comprends rien aux commentaires. Je crois comprendre que "session.gc_probability = 1" est commenté par défaut sous debian à causes des droits sur /var/lib/php5 qui empêchent le GC de fonctionner. Or lorsque j'ai décommenté cette ligne, mes fichiers session sont bien supprimés par le garbage collector. Alors je me dis que ça marche quand même parce que les fichiers session sont stockés dans un répertoire avec des droits souples, du coup la restriction lié à debian ne s'applique pas. Jusque là ok.
    Mais je vois dans la note que si on utilise un répertoire différent de /var/lib/php5 pour stocker les sessions le GC ne doit pas marcher, alors qu'ils conseillent 10 lignes au dessus d'activer le GC si on utilise un rep personnalisé !! Ils disent des conneries dans la note ou c'est moi qui comprends rien ?

    Je suis aussi allé voir du coté de /etc/cron.d/php5 qui dit :

    Code:
    # Look for and purge old sessions every 30 minutes
    09,39 *     * * *     root   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm
    J'ai vérifié dans le syslog, cette tache s'exécute bien. Mais elle ne sert à rien puisque d'une part le GC fait bien son travail et d'autre part elle vide le rep "/var/lib/php5" qui ne contient aucun fichier de session dans ma config...

    Est-ce que je me trompe ?
     
  2. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Je n'ai pas l'impression que tu te trompes, toutefois le cron est prévu pour une conf "par défaut", donc si tu stocks tes sessions ailleurs que /var/lib/php5, il faut éditer le fichier /etc/cron.d/php5.
    Ils ne disent pas de conneries dans la note, c'est juste que c'est sensé être mal nettoyé vu que Debian aime bien sa configuration par défaut.

    J'ignore les perms que tu as sur ton dossier "de session", où elles sont stockés, mais par défaut, il me semble que ça fonctionne bien.

    Perso je stock mes sessions dans memcache donc je ne pourrais pas trop t'en dire plus.
     
  3. Toma
    Toma WRInaute discret
    Inscrit:
    18 Janvier 2006
    Messages:
    217
    J'aime reçus:
    0
    Ok, on va dire que le garbage collector ne fonctionne pas sur les répertoires avec des droits trop restrictifs, mais que à partir du moment ou on met des droits plus ouvert (j'avais mis 777) ça fonctionne, répertoire personnalisé ou pas. (quand même, la note sous-entend fortement que le gc ne marchera pas sur un rep perso quelque soient les droits, ce qui est apparemment faux).
    Du coup j'ai commenté la ligne cron, ça fait un syslog un peu plus propre et mes fichiers sont bien supprimés automatiquement par php.

    Merci pour ta réponse !
     
Chargement...
Similar Threads - debian php suppression Forum Date
Tutos pour installer elacticsearch sous debian + php/mysql Développement d'un site Web ou d'une appli mobile 17 Août 2015
Mise en place d'un serveur Websocket PHP sur Debian Administration d'un site Web 1 Avril 2012
Debian Etch : mettre a jour PHP Administration d'un site Web 11 Janvier 2011
cron php debian Administration d'un site Web 26 Avril 2009
Config réseau Debian 9 Administration d'un site Web 1 Février 2019
Debian 9 DNS par défaut ? Administration d'un site Web 20 Juin 2018
Certificat SSL et GIT sur Debian Développement d'un site Web ou d'une appli mobile 13 Novembre 2017
Trouver le bon repertoire sur une debian Administration d'un site Web 15 Août 2017
Config IPV6 serveur VPS OVH Debian Administration d'un site Web 16 Octobre 2016
Comment activer le module pecl_http sous Debian 8 ? Administration d'un site Web 5 Août 2015
Comment configurer postfixadmin avec dovecot sous Debian Jessie ? Administration d'un site Web 13 Juillet 2015
Comment partitionner correctement (Debian 6 Squeeze) pour un site web Administration d'un site Web 20 Décembre 2012
Gros problèmes depuis derniere mise à jour Mysql sous Debian ! Administration d'un site Web 13 Février 2012
debian su root avec winscp ? Administration d'un site Web 21 Novembre 2011
TeX ou MathML -> PNG pour serveur Debian Développement d'un site Web ou d'une appli mobile 6 Septembre 2011
Ma première installation Debian Administration d'un site Web 7 Mai 2011
Activer URL Rewriting sous debian 6 URL Rewriting et .htaccess 1 Mai 2011
Mise a jour de sécurité debian lenny Administration d'un site Web 20 Avril 2011
quel paquet debian utilisez vous pour les statistiques ? Administration d'un site Web 20 Avril 2011
VMware + windows pour essayer debian Administration d'un site Web 14 Avril 2011