Mongodb Symfony2在何处/如何序列化和写入其会话数据?

Mongodb Symfony2在何处/如何序列化和写入其会话数据?,mongodb,session,serialization,symfony,Mongodb,Session,Serialization,Symfony,概述一下: 我有一个基于Symfony1构建的应用程序,但我正在使用Symfony2构建新部件。我已在Symfony2上移动了登录/注销操作,并使Symfony1从Symfony2读取会话数据。通过告诉Symfony2在默认的PHP$\u会话中写入会话数据,它工作得很好,所有东西都在数组中,Symfony1可以读取数据并自动登录我的用户 现在,我将在各自的虚拟机上移动Symfony1和Symfony2应用程序。因此,我将会话保存在MongoDB中(通过MongoDbSessionHandler)

概述一下:

我有一个基于Symfony1构建的应用程序,但我正在使用Symfony2构建新部件。我已在Symfony2上移动了登录/注销操作,并使Symfony1从Symfony2读取会话数据。通过告诉Symfony2在默认的PHP$\u会话中写入会话数据,它工作得很好,所有东西都在数组中,Symfony1可以读取数据并自动登录我的用户

现在,我将在各自的虚拟机上移动Symfony1和Symfony2应用程序。因此,我将会话保存在MongoDB中(通过MongoDbSessionHandler),而不是在PHP$\会话中编写。但现在,当我从Symfony1应用程序读取会话数据时,我得到了如下结果:

_sf2_attributes|a:0:{}_sf2_flashes|a:0:{}_sf2_meta|a:3:{s:1:"u";i:1362655964;s:1:"c";i:1362655964;s:1:"l";s:1:"0";}
这绝对不是不可改变的。Symfony2似乎以自己的方式序列化数据,我猜这些东西就是元数据包。问题是,我找不到这种序列化发生在哪里。为了能够取消序列化,我需要找到它是如何序列化的。我找到的最近的位置是SessionHandlerProxy:

public function write($id, $data)
{
    return (bool) $this->handler->write($id, $data);
}
这里传递的$data包含序列化数据,但在调用它的代码中找不到


运气好吗?

MongoDbSessionHandler在这里被设置为PHP会话保存处理程序:

session_start()()实际上读取会话文件/Mongo的内容并创建全局$会话变量:


看看PHP的session_decode函数:-这可能就是您想要的。

aaaaaaaaahhh。我要找的是会话解码功能!剩下的我都有了,但我无法理解这些奇怪的连载。谢谢