Gestion des sessions php sous debian
Salutations à tous !
Je suis super novice en admin système et si je m'y penche aujourd'hui, c'est parce que mon serveur plante régulièrement, peut etre à cause des sessions.
Ainsi, je voudrais comprendre comment marche le grabage collector des sessions php sur mon server.
Tout a commencé par mon php.ini qui dit ceci :
Code:
1 2 3 4 5 6
|
; This is disabled in the Debian packages, due to the strict permissions
; on /var/lib/php4. Instead of setting this here, see the cronjob at
; /etc/cron.d/php4, which uses the session.gc_maxlifetime setting below
;session.gc_probability = 0
session.gc_divisor = 100 |
En gros, ca me dit : ne fais pas ca dans ton php.ini, vas voir le cron /etc/cron.d/php4
Donc, j'y vais :
Code:
1 2 3 4 5 6 7 8
|
# /etc/cron.d/php4: crontab fragment for php4
# This purges session files older than X, where X is defined in seconds
# as the largest value of session.gc_maxlifetime from all your php.ini
# files, or 24 minutes if not defined. See /usr/lib/php4/maxlifetime
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm |
Même si je ne comprend pas grand chose à ce job, je pense qu'il va vider les sessions toutes les 30 minutes (merci le commentaire ;) )
Ensuite, je continue mon chemin => See /usr/lib/php4/maxlifetime
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #!/bin/sh -e
max=1440
for ini in /etc/php4/*/php.ini; do
cur=$(sed -n -e 's/^[[:space:]]*session.gc_maxlifetime[[:space:]]*=[[:space:]]*\([0-9]\+\).*$/\1/p' $ini 2>/dev/null || true);
[ -z "$cur" ] && cur=0
[ "$cur" -gt "$max" ] && max=$cur
done
echo $(($max/60))
exit 0 |
J'ai cru comprendre que ce truc la allait chercher la plus grande valeur de gc_maxlifetime dans les php.ini pour le ré injecter le le code précédent qui lui, s'occupe des sessions !
Cool, je crois avoir compris :D
Je vais voir dans le var/log/syslog et la, miracle, je vois bien le cron s'executer toutes les 30 minutes !
Seulement, voila, les sessions ont toujours une durée de vie infinie sur mon site.
Ai-je loupé un truc ?
En vous remerciant par avance de vos réponses !
Un débutant un poil pommé, mais qui progresse peu à peu ;)