在php中,会话将很快过期

在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小时后过期

问题是,在24分钟(会话到期前的默认时间)不活动后,它仍然会使会话到期,因此会为那些
会话
变量提供未定义的索引

我还需要在代码中执行哪些操作才能扩展会话,使其在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