会话变量的值正在取消设置,即“-blank-”而不重置它

时间:2012-12-14 13:19:02

标签: php session session-variables unset

include('conection.php');
$db=new Database();
session_start();
echo "<div style=' background-color:white; border:solid white'>".$_SESSION['uid']."</div>";
if(!(isset(**$_SESSION['uid']**)))
{
    header('location:index.php');
}
if(isset($_REQUEST['admin']))
{
    if(base64_decode($_REQUEST['admin'])!=='over779656')
    {
        header('location:index.php');
    }
}
$r=explode(" ",base64_decode($_REQUEST['final']));



   **$_SESSION['uid']** 

此变量的值在经过2个小时或更长时间后未设置,为什么会这样,即使我没有设置任何变量,是否有任何服务器问题或任何浏览器问题

3 个答案:

答案 0 :(得分:3)

检查session.gc_maxlifetime中的php.ini并增加

的时间

答案 1 :(得分:2)

不要在php.ini中更改此内容,请尝试在运行时更改超时。

ini_set('session.gc_maxlifetime', 5*60*60); // 5 hours

修改

注意:在session_start()

之前使用此代码

答案 2 :(得分:0)

如果您无法访问php.ini和/或不想重新启动服务器,可以尝试以下操作。使用http://php.net/ini_get查看session.gc_maxlifetime设置,如下所示:

    ini_get('session.gc_maxlifetime')

您可以将其设置为http://php.net/ini_set,如此

    ini_set('session.gc_maxlifetime', 3600*24);

请注意内存问题和长时间运行的脚本。也像另一个答案所说:在session_start()之前执行。