我有以下代码来扩展我的$_SESSION[]
变量。它们在大约2-3小时后过期。
我试图通过更改session.gc_maxlifetime
来延长到22小时,但是我在几个小时后仍然会失去我的会话。
//start sessions
ini_set('session.gc_maxlifetime', 60*60*22); // 22h - one day
//Output just to make sure config was changed.
echo ini_get("session.gc_maxlifetime");
session_start();
如何增加会话的持续时间?
答案 0 :(得分:1)
是的,它可能是:session.cookie_lifetime默认为0,意味着在关闭浏览器时终止。
如果您关闭客户端并再次打开它,session.gc_maxlifetime无关紧要 - 它仅适用于未终止的会话。
或者,您可能会在较早的其他地方启动calles会话,并使用较小的session.gc_maxlifetime。框架经常设置这个。重复调用会话启动不会改变会话。
答案 1 :(得分:1)
尝试在php.ini中更改它!由于会话生命周期是文件系统的事情,因此每个脚本的设置总是有问题的。
答案 2 :(得分:0)
有关于此的说明on the manual page;如果另一个使用相同目录存储会话数据的脚本没有设置maxlifetime,那么它将使用较短的值。