Ai tiré mes cheveux en essayant de savoir pourquoi mes séances sont terminées/tuées/détruites à 30 minutes. Eh bien, il semble que les systèmes basés sur Debian ont un cron spécial qui ignore toutes les configurations de php.ini et d'apache et tue toute session inactive à 30 minutes.Systèmes basés sur Debian Session tuée à 30 minutes dans un cron spécial, comment passer outre?
Le chemin de Cron: /etc/cron.d/php5
A l'intérieur du Cron:
# /etc/cron.d/php5: crontab fragment for php5
# 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/php5/maxlifetime
# 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
Je ne suis pas mal à la configuration et la mise en place des hôtes mais je ne suis pas sysadmin. Quelqu'un pourrait-il m'aider s'il vous plaît remplacer/modifier/modifier/reconfigurer cela afin que je puisse définir la valeur plus longtemps? Je pense que 3 heures serait bien, mais je voudrais comprendre les changements, donc si quelqu'un plus haut veut rendre la session plus courte/plus longue, je documente comment configurer le changement.
Merci à toute aide de perspicacité sur ce
EDIT: Ajout/usr/lib/php5/code maxlifetime
#!/bin/sh -e
max=1440
for ini in /etc/php5/*/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
il semble être à la recherche de tous les fichiers php.ini, trouve la la plus grande valeur, le compare à 1440 (qui est de 24 minutes).
Voici les fichiers php.ini
/etc/php5/apache2/php.ini
session.gc_maxlifetime = 1440
/etc/php5/cgi/php.ini
session.gc_maxlifetime = 1440
/etc/php5/cli/php.ini
session.gc_maxlifetime = 1440
mais pourquoi ma session de script à 30 font tuer minutes et pas 24 minutes? CRON s'exécute toutes les 30 minutes, c'est pourquoi la session semble être tué à 30 minutes d'intervalle. Mais il pourrait aussi être 24 à 54 minutes, FYI
recherche également sur le code: /usr/lib/php5/maxlifetime
il prend la valeur la plus élevée et pendant mes tests je tentais d'abaisser le seuil pour accélérer la condition.
On dirait que j'ai juste besoin d'augmenter un sur les fichiers php.ini à plus d'une heure de test.
C'est ce que je pensais aussi, mais ce fichier recherche les fichiers php.ini (tous) et trouve la plus grande valeur en seconde (qui est de 1440 ou 24 minutes). Mais ma session ne s'arrête pas avant 30 minutes et je ne peux pas comprendre pourquoi –
Le travail de cron est seulement exécuté toutes les 30 minutes, donc en fait votre session peut être valide pendant 24 à 54 minutes. –
merde, juste eu un moment DUH. Merci, je pense que cela va m'aider à mettre en place une session plus longue. –