Pour les applications Web développées avec PHP, il existe de nombreuses situations dans lesquelles la déconnexion automatique n'est pas attendue. Dans certains scénarios où vous devez rester en ligne pendant une longue période, comme sur les sites de réseaux sociaux, les systèmes de service client en ligne, etc., la déconnexion automatique entraînera de nombreux désagréments. Alors, comment désactiver la fonction de déconnexion automatique de PHP ?
Tout d’abord, nous devons comprendre le principe de la déconnexion automatique. Dans le mécanisme de session PHP, afin d'éviter que le navigateur soit occupé pendant une longue période sans fermer le navigateur, la session est automatiquement déconnectée après un certain temps par défaut. Cette période est appelée session.gc_maxlifetime et sa valeur par défaut est de 24 minutes.
Pour désactiver la fonction de déconnexion automatique de PHP, nous devons définir la valeur de session.gc_maxlifetime sur une durée beaucoup plus longue que celle dont nous avons besoin, et simplement la modifier dans php.ini ou dans le code.
Dans php.ini, nous devons trouver la ligne de code suivante :
; 垃圾回收概率 ; session.gc_probability=1 ; session.gc_divisor=100
Modifiez-la en :
; 垃圾回收概率 session.gc_probability=1 session.gc_divisor=100 ; Session 有效时间(半小时,可以根据需要适当修改) session.gc_maxlifetime = 1800
Enregistrez le fichier, redémarrez le serveur Apache ou Nginx et vous pourrez voir l'effet.
Si vous ne pouvez pas modifier php.ini, vous pouvez utiliser du code PHP pour obtenir le même effet :
session_start(); // 这里的 604800 相当于 7 天,根据实际需要修改 ini_set('session.gc_maxlifetime', 604800); session_set_cookie_params(604800);
Le code ci-dessus définira la valeur de session.gc_maxlifetime après le démarrage de la session et spécifiera l'heure d'expiration de la session via le Fonction session_set_cookie_params, donc Pour obtenir l'effet de désactiver la déconnexion automatique.
En bref, désactiver la fonction de déconnexion automatique PHP nous oblige à définir la valeur de session.gc_maxlifetime, et le fait qu'elle soit implémentée dans php.ini ou en utilisant du code PHP dépend de la situation. Tant que vous lisez attentivement la documentation pendant le processus de développement et maîtrisez les connaissances pertinentes, vous pouvez facilement mettre en œuvre les fonctions dont vous avez besoin.
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!