自定义会话处理程序基本问题

时间:2013-08-13 12:40:31

标签: php session handler

目前我正在编写一个PHP自定义会话处理程序,我坚持一个基本问题

  1. 在初始化会话处理程序之后,还是在会话处理程序类本身之前,是否需要启动会话?
  2. 我应该在哪里调用session_set_save_handler()(此时我在Session处理程序构造函数中调用它)?
  3. 如果我在初始化处理程序之前启动会话,则数据库将不会被填充,并且我无法在apache错误日志/网页中看到任何错误。另外,我将像正常情况一样重定向到起始页面。

    然后我尝试在初始化后启动会话,我可以看到一些错误,我不会被重定向到起始页面。

    在最后一种情况下,我尝试在session_set_save_handler()之前和之后的构造函数中启动它,并且它与前面描述的行为相同。

    有人能告诉我解决这个问题的正确方法吗?

1 个答案:

答案 0 :(得分:2)

  

我是否需要在初始化会话之前启动会话   处理程序,之后还是在会话处理程序类本身?

创建班级实例后,请致电session_start()

<?php
class MySessionHandler implements SessionHandlerInterface
{
    // implement interfaces here
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// proceed to set and retrieve values by key from $_SESSION
  

我必须在哪里调用session_set_save_handler()(目前   我在Session处理程序构造函数中调用它?

请参考以上示例。

有关PHP手册 here

的详细信息
相关问题