Je suis à perte ici. J'ai un groupe spécifique d'utilisateurs à l'étage dont les sessions semblent expirer complètement au hasard. Ce n'est pas seulement quand ils quittent le site pendant un certain temps, il peut expirer pendant qu'ils naviguent. Pour moi et la plupart de nos utilisateurs tout fonctionne très bien. Ce n'est pas un problème de navigateur, nous avons des gens dans FF et toutes les versions d'IE qui fonctionnent correctement, et les gens dans FF et IE qui ne fonctionnent pas.Sessions PHP Expiration inattendue
Mon gc_maxlifetime
est à 43200
et le garbage collection est une faible folie 1/1000
(pas que cela devrait importer). Est-il possible qu'il y ait quelque chose d'autre sur le serveur qui supprime aléatoirement certaines de nos sessions? Que dois-je vérifier? Cela n'expliquerait toujours pas pourquoi seul ce groupe spécifique semble être affecté.
J'ai quelques paramètres de session qui sont différents de la valeur par défaut:
session.gc_maxlifetime = 43200
session.gc_divisor = 1000
session.save_path = /var/lib/php/session
session.use_only_cookies = Off
session.bug_compat_42 = Off
Les trois premiers, je ne suis pas inquiet, mais pourrait les deux derniers être à l'origine de ce comportement? Je n'envoie jamais de cookies via l'URL, donc je n'ai pas de bonne raison d'utiliser use_only_cookies. Je n'ai aucune garantie que les marginaux qui ont fait cette application avant que je suis arrivé ici n'exploitent pas la chose bug_compat_42
pour définir les variables de session, mais encore une fois, je m'attendrais à un problème avec cela pour être moins aléatoire.
Edit:
sur une enquête plus approfondie, j'ai trouvé que la session ne soit pas détruit du tout, mais l'utilisateur final est d'obtenir un nouvel ID de session. L'ancienne session existe toujours sur le serveur, mais une nouvelle session est démarrée au hasard pendant la navigation. Pouvez-vous fournir un peu plus d'informations sur votre configuration?
L'une des deux choses se passe: le fichier de session sur le serveur est en cours de suppression, ou le cookie de session arrive à son terme. J'essaierais d'isoler un cas de l'un ou de l'autre, puis de travailler à partir de là. –
J'ai déterminé que ce n'est pas la session qui est supprimée. Comment puis-je vérifier si le cookie expire? –