Maison >développement back-end >tutoriel php >Combien de temps durent réellement les sessions PHP ?

Combien de temps durent réellement les sessions PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 08:21:021025parcourir

How Long Do PHP Sessions Actually Last?

Combien de temps dure une séance ? Dévoiler les données

Déterminer la durée d'une session à partir des données fournies peut être un peu difficile. Entrons dans les détails pour trouver la réponse.

GC de session et probabilités

En PHP, les sessions sont gérées par un garbage collector (GC). Le paramètre session.gc_maxlifetime spécifie la durée maximale écoulée depuis la dernière modification des données de session avant qu'elles ne soient marquées pour suppression. Cependant, il y a un problème : le GC n'est pas appelé à chaque fois que session_start est invoqué.

Les paramètres session.gc_probability et session.gc_divisor déterminent la probabilité que le GC soit déclenché lors d'un appel session_start. Par défaut, ces valeurs sont respectivement 1 et 100, ce qui signifie que le GC ne s'exécute que dans environ 1 % de ces appels.

Implications sur la durée de vie de la session

Le fait que le GC ne soit pas toujours invoqué signifie que, même si la durée de vie d'une session a techniquement expiré (c'est-à-dire que les données de session ont été modifiées il y a session.gc_maxlifetime secondes), elle peut toujours être utilisée pendant une période plus longue.

Recommandation

En raison de ce comportement, il est généralement conseillé d'implémenter votre propre mécanisme de délai d'expiration de session plutôt que de vous fier uniquement au GC de PHP. Cela peut aider à garantir que les sessions se terminent dans un délai prédéterminé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn