Quelqu'un peut-il me dire combien de temps durera ma session à partir des données ci-dessous? - Je ne sais pas lequel me dit
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
En général, vous pouvez dire session.gc_maxlifetime spécifie la durée de vie maximale depuis le dernier changement de vos données de session ( pas la dernière fois session_start
a été appelé!). Mais la gestion des sessions PHP est un peu plus compliquée.
Parce que les données de session sont supprimées par un garbage collector qui n'est appelé que par session_start
avec une probabilité de session.gc_probability divisé par session.gc_divisor . Les valeurs par défaut sont 1 et 100, donc le garbage collector n'est démarré que dans 1% de tous les session_start
appels. Cela signifie que même si la session a déjà expiré en théorie (les données de session ont été modifiées plus que session.gc_maxlifetime il y a quelques secondes), les données de session peut être utilisé plus longtemps que cela.
Pour cette raison, je vous recommande d'implémenter votre propre mécanisme d'expiration de session. Voir ma réponse à Comment puis-je expirer une session PHP après 30 minutes? pour plus de détails.
C'est le bon. La session durera 1440 secondes (24 minutes).
session.gc_maxlifetime 1440 1440
[~ # ~] modifier [~ # ~] : D'autres ont mentionné le paramètre session.gc_maxlifetime
. Lorsque le garbage collection de session se produit, le garbage collector supprimera toutes les données de session auxquelles vous n'avez pas accédé depuis plus de session.gc_maxlifetime
Secondes. Pour définir la durée de vie du cookie de session, appelez session_set_cookie_params()
ou définissez le paramètre session.cookie_lifetime
PHP PHP. Si ce paramètre est supérieur à session.gc_maxlifetime
, vous devez augmenter session.gc_maxlifetime
à une valeur supérieure ou égale à la durée de vie du cookie pour vous assurer que vos sessions n'expirent pas.
Vous recherchez gc_maxlifetime, voir http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime pour une description.
Votre session durera 1440 secondes, soit 24 minutes (par défaut).