【问题标题】:why ini_set('session.gc_maxlifetime',60) doesn't work?为什么 ini_set('session.gc_maxlifetime',60) 不起作用?
【发布时间】:2012-08-20 04:33:38
【问题描述】:

会话的默认过期时间是 1440,我想把这个时间减少到 60 秒,但是当我在第一页使用 ini_set('session.gc_maxlifetime','60') 时它可以工作,但它在其他页面中不起作用, 请告诉我我怎么了?

    ----------index.php-----------
    <?php
    ini_set('session.gc_maxlifetime','60');
    session_start();       

    $_SESSION['id']='123';

    print('<br/><a href="link.php">link<a/>');
    ?>


    ----------link.php----------
    <?php
    session_start();

    if(isset($_SESSION['id'])){
        ini_set('session.gc_maxlifetime',60);
    }else{
        header('Location:index.php?ERROR');
    }

    print('<br/><a href="link.php?1">menu<a/>');
    ?>

【问题讨论】:

    标签: php session garbage-collection ini-set


    【解决方案1】:

    因为垃圾收集器开始(如果开始)之前会话

    所以在session_start() 之后设置ini_set('session.gc_maxlifetime',60); 不会改变任何事情

    【讨论】:

      【解决方案2】:

      会话垃圾收集器将作为session_start() 的一部分触发。由于您是在开始会话后更改设置,因此更改设置为时已晚。

      【讨论】:

        猜你喜欢
        • 2011-03-26
        • 2012-04-13
        • 2011-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多