改变session.cookie_lifetime
似乎对此没有任何影响。
我可以通过增加session.gc_maxlifetime
的价值来解决这个问题吗?
这是完整的代码
header("Access-Control-Allow-Origin: http://www.private.net");
header("Access-Control-Allow-Credentials: true");
ini_set("session.gc_maxlifetime", 60*60*24);
session_set_cookie_params(60*60*24*7, "/", COOKIE_DOMAIN);
session_start();
答案 0 :(得分:1)
根据您提供的代码,我假设您使用的是默认会话存储,这意味着会话数据存储在文件系统中,而cookie仅包含PHPSESSID
(会话ID)。
为了在使用文件系统时更长时间地存储会话数据,您需要相应地设置session.gc_maxlifetime
配置。
您可以在php.ini
或ini_set()
:
ini_set("session.gc_maxlifetime", 60*60*24*7);
如果你想增加Cookie的生命周期(默认为0,意味着它在浏览器关闭时被删除)你可以设置session.cookie_lifetime
,或者再次使用ini_set()
,或者只是做就像你在你的例子中这样做。