在php中,会话将很快过期
我想延长会话时间,以便会话变量不会在12小时后过期 问题是,在24分钟(会话到期前的默认时间)不活动后,它仍然会使会话到期,因此会为那些在php中,会话将很快过期,php,session,session-cookies,Php,Session,Session Cookies,我想延长会话时间,以便会话变量不会在12小时后过期 问题是,在24分钟(会话到期前的默认时间)不活动后,它仍然会使会话到期,因此会为那些会话变量提供未定义的索引 我还需要在代码中执行哪些操作才能扩展会话,使其在12小时后不会自行过期: 下面的代码不起作用是ini\u set()在session\u start()上面 <?php ini_set('session.gc_maxlifetime',12*60*60); ini_set('session.cookie_lifet
会话
变量提供未定义的索引
我还需要在代码中执行哪些操作才能扩展会话,使其在12小时后不会自行过期:
下面的代码不起作用是ini\u set()
在session\u 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
?>
您当前仅设置垃圾收集的时间。您还应该使用设置或session\u set\u cookie\u params()
函数在浏览器中将cookie设置为过期。好的,我将对此进行测试,代码是否为:ini\u set('session.cookie\u life',12*60*60)代码>?只要在执行任何与会话无关的操作之前先执行ini\u设置,它就可以工作。如果您在会话开始后设置了ini_,PHP无法及时追溯更改cookie过期期限。对此,我很抱歉,我回来时对其进行了测试,但会话仍然有效expires@user1669425服务器上可能禁用了ini\u set()
。@TimPost ini\u set()未禁用。我问了服务器管理员。如果我将ini_集合()放在会话_start()的下方或之后,它们仍然会在24分钟而不是24小时内使会话过期。我已经更新了问题,所以你们可以看到发生了什么
<?php
phpinfo();
session_start();
ini_set('session.gc_maxlifetime',12*60*60);
ini_set('session.cookie_lifetime',12*60*60);
// .... rest of code below
?>
Local Value Master Value
session.gc_maxlifetime 43200 1440
session.cookie_lifetime 43200 0