Maison >développement back-end >Problème PHP >Comment faire en sorte que la session en php n'expire jamais ?

Comment faire en sorte que la session en php n'expire jamais ?

青灯夜游
青灯夜游original
2020-07-21 10:59:154156parcourir

Ouvrez le fichier php.ini et définissez la valeur "session.use_cookies" sur 1, la valeur "session.cookie_lifetime" sur 999999999 et la valeur "session.gc_maxlifetime" sur 99999999. C'est tout.

Comment faire en sorte que la session en php n'expire jamais ?

Comment ne jamais expirer une session en php

La première méthode Méthode :

Ouvrez le fichier de paramètres php.ini et modifiez les trois lignes comme suit : [Recommandations du didacticiel associé : "Tutoriel PHP"]

1. .use_cookies

Définissez cette valeur sur 1 et utilisez des cookies pour transmettre l'ID de session

2 session.cookie_lifetime

Cela représente l'heure à laquelle l'ID de session est stocké dans le cookie client. la valeur par défaut est 0 , ce qui signifie que le SessionID sera invalidé dès que le navigateur le fermera... C'est pour cette raison que la session PHP ne peut pas être utilisée en permanence ! Alors fixons-le à un nombre que nous pensons grand, que diriez-vous de 999999999, ce n'est pas grave ! c'est tout.

3. session.gc_maxlifetime

C'est l'heure à laquelle les données de session sont stockées côté serveur. Si cette durée est dépassée, les données de session seront automatiquement supprimées ! Alors définissons-le également sur 99999999.

C'est tout, tout va bien. Bien sûr, si vous n'y croyez pas, testez-le et voyez - organisez une session et revenez après 10 jours et demi pour voir si votre ordinateur ne fonctionne pas. éteint ou éteint, vous pouvez toujours voir l'ID de session.

Deuxième méthode :

Bien sûr, il est également possible que vous n'ayez pas l'autorisation de contrôler le serveur et que vous ne puissiez pas modifier les paramètres du php.ini. vous devez utiliser le client pour stocker les cookies. , stocker l'ID de session obtenu dans le cookie du client, définir la valeur de ce cookie, puis transmettre cette valeur à la fonction session_id(). La méthode spécifique est la suivante :

<?php 
session_start(); // 启动Session 
$_SESSION[&#39;count&#39;]; // 注册Session变量Count 
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); 
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID 
$_SESSION[&#39;count&#39;]++; // 变量count加1 
setcookie(&#39;PHPSESSID&#39;, $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中 
echo $count; // 显示Session变量count的值 
?>
<.>Remarque : 'PHPSESSID' dans la ligne setcookie 'Pas nécessairement. Si vous rencontrez un administrateur réseau qui souffre de manie de modification, il l'a peut-être modifié. Le meilleur moyen est d'utiliser la fonction phpinfo() pour vérifier et confirmer la session. Élément .name La valeur est relativement scientifique.

Recommandations de sujets connexes : session php (y compris des photos, des vidéos, des cas)

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