目前我正在编写一个PHP自定义会话处理程序,我坚持一个基本问题
如果我在初始化处理程序之前启动会话,则数据库将不会被填充,并且我无法在apache错误日志/网页中看到任何错误。另外,我将像正常情况一样重定向到起始页面。
然后我尝试在初始化后启动会话,我可以看到一些错误,我不会被重定向到起始页面。
在最后一种情况下,我尝试在session_set_save_handler()之前和之后的构造函数中启动它,并且它与前面描述的行为相同。
有人能告诉我解决这个问题的正确方法吗?
答案 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
的详细信息