我想延长会话时间,以便会话变量在12小时后不会过期。
问题是,在24分钟(会话的默认时间到期之前)不活动时,它仍会使会话失效,因此会为这些SESSION
变量提供未定义的索引。
我还需要在代码中做些什么才能扩展会话,以便在12小时后它们不会过期:
以下代码无效ini_set()
高于session_start();
<?php
ini_set('session.gc_maxlifetime',12*60*60);
ini_set('session.cookie_lifetime',12*60*60);
phpinfo();
session_start();
// .... rest of code below
?>
下面的代码不起作用是ini_set()低于session_start();
<?php
phpinfo();
session_start();
ini_set('session.gc_maxlifetime',12*60*60);
ini_set('session.cookie_lifetime',12*60*60);
// .... rest of code below
?>
在phpinfo()
中,它为gc_maxlifetime
:
Local Value Master Value
session.gc_maxlifetime 43200 1440
session.cookie_lifetime 43200 0
答案 0 :(得分:2)
您目前只设置垃圾回收的时间。您还应该使用session.cookie_lifetime设置或session_set_cookie_params()
功能将Cookie设置为在浏览器中过期。