我去和使用下面的脚本PHP - 会话cookie到期/无效更早接料
session_start();
$_SESSION['username'] = $query[0]['username'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['image'] = $query[0]['image'];
$_SESSION['role'] = $query[0]['role'];
$_SESSION['banned'] = $query[0]['banned'];
$_SESSION['id'] = $query[0]['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['useragent'] = $_SERVER['HTTP_USER_AGENT'];
setcookie(session_name(),session_id(),time()+604800,"/");
//redirect to homepage since now logged in.
login现在在主页再次IM和登录,一切正常,因为它应该。 但仅仅几个小时后,isset($ _ SESSION ['username'])将返回false,但过期时间仍然设置为7天,并且cookie仍然存在。
截止日期的小时比我的时区实际时间小时滞后1小时。不确定这是否重要。我将时区服务器端更改为随机时区,cookie过期数据未更改。
htaccess的:
php_value session.cookie_lifetime 604800
php_value session.gc_maxlifetime 604800
(这是htaccess的根,与第一个代码块的上方,在根/登录不知道它很重要。)。
您的pc时间是18:52 GMT – craig
@craig正确。 – user8549339
设置时区并重试 - date_default_timezone_set('您的时区'); – craig