Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中增加会话时间_Php_Session_Cookies_Session Cookies - Fatal编程技术网

如何在php中增加会话时间

如何在php中增加会话时间,php,session,cookies,session-cookies,Php,Session,Cookies,Session Cookies,在我的web应用程序中,当我试图通过传递用户名和密码来访问身份验证服务时。以下是处理身份验证的代码 ini_set("session.cookie_lifetime","7200"); // 120 minutes ini_set("session.gc_maxlifetime","7200"); // 120 minutes session_start(); $_SESSION['logged_in'] = true; $_SESSION['last_activity'] = time();

在我的web应用程序中,当我试图通过传递用户名和密码来访问身份验证服务时。以下是处理身份验证的代码

ini_set("session.cookie_lifetime","7200"); // 120 minutes
ini_set("session.gc_maxlifetime","7200"); // 120 minutes
session_start();
$_SESSION['logged_in'] = true; 
$_SESSION['last_activity'] = time(); /
$_SESSION['expire_time'] = 2*60*60; 
$_SESSION["user_id"]=$user_id;
$_SESSION["username"]=$username;
$_SESSION["accesslevel"]=10;
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
$proxy = $_SERVER["REMOTE_ADDR"];
$time = time();
header('Location: ../XXXX.php');
在上面的代码中,我试图在
session_destroy()之前建立2小时的不活动状态。但当我在浏览器中检查cookie信息时,过期日期与创建日期相同

帮助我延长cookie时间以实现系统空闲


如何做到这一点,请指导我。提前谢谢

创建cookie(会话初始化)后,这些设置无效

您必须检查会话是否超时:

if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > $_SESSION['expire_time'] )) { 
        session_destroy();
 } // check last activity
$_SESSION['last_activity'] = time(); // update last activity time

ini_set参数在会话_start()之前设置;。我实际上使用了您建议的代码,但是如果用户在短时间内没有刷新或单击页面中的某个位置,会话将自动结束。
if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > $_SESSION['expire_time'] )) { 
        session_destroy();
 } // check last activity
$_SESSION['last_activity'] = time(); // update last activity time