PHP 7.2中的自定义会话处理程序功能

时间:2019-03-19 11:14:54

标签: session php-7.2

我使用自定义方法将会话存储到MySQL表中。

private static function load()
{
    session_module_name("user");
    session_set_save_handler(['\CB\Session', 'open'],
                             ['\CB\Session', 'close'],
                             ['\CB\Session', 'read'],
                             ['\CB\Session', 'write'],
                             ['\CB\Session', 'remove'],
                             ['\CB\Session', 'gc']
                             );
    session_start();       
}

现在我必须注释掉session_module_name("user");,因为它已在PHP 7.2中删除。但是现在我得到了错误:

  

警告:session_start():无法读取会话数据:用户(路径:   / var / lib / php / sessions)放在/home/username/path/lib/CB/Session.php中   第38行

当我的函数正在将它们写入/读取到MySQL表时,为什么要尝试在/ var / lib / php / sessions上读取/写入会话。 (而且我的MySQL表未填充)

1 个答案:

答案 0 :(得分:0)

http://php.net/manual/en/function.session-start.php#120589找到了答案
我的读取功能必须检查会话数据是否为null,如果是,则返回”。
我不知道这是PHP的新事物还是错误。