PHP会话未在函数内设置,无法工作


PHP Session unset inside a function not working

我正在编写自己的会话处理程序,其中一些基于CodeIgniters会话处理程序。global_registered设置为off,并且我的类的这一部分:

    protected $userdata = array();
    //in the initialization of the class after the session start i call
    $this->userdata =& $this->get_userdata();
    public function &get_userdata()
{
    // Just return reference to $_SESSION
    return $_SESSION;
}
    public function userdata($item)
{
    return isset($this->userdata[$item]) ? $this->userdata[$item] : NULL;
}
    public function unset_userdata($newdata = array())
{
    // Wrap single name as array
    if (is_string($newdata))
    {
        $newdata = array($newdata => '');
    }
    // Unset each item name
    if (count($newdata) > 0)
    {
        foreach (array_keys($newdata) as $key)
        {
            unset($this->userdata[$key]);
        }
    }
}

unset不工作。我在php上读了一些关于取消设置和函数问题的文章,但我不清楚如何在全局变量关闭的情况下取消设置函数中的某些内容

由于不允许我发表评论:你在其他地方有session_start()吗?

很抱歉,这个问题不是php或codeigniter,而是文件系统没有正确截断。感谢:)