用于自定义php SessionHandler的自定义serialize_handler(数据库存储)

ami*_*nho 6 php session serialization

在php中使用第三方(django)会话管理的过程中,我需要具有自定义序列化功能,以便正确编码/解码它以适应django的会话数据的盐存储.目前,似乎ini设置session.serialize_handler可以是php或wddx.

有没有办法将自定义serialize_handler设置为类?

我想要这样的东西:

class CustomSessionSerializer {

    public static function serialize($data){
    // Serializes raw data
    }

    public static function unserialize($sdata){
    // Deserializes serialized data
    }
}
Run Code Online (Sandbox Code Playgroud)

并让我的自定义SessionHandler使用它.

igbinarygithub上的项目似乎添加了自定义serialize_handler作为php扩展.我很好奇,如果自定义序列化不能在另一个地方发生,而不是作为C扩展.

Cra*_*ack 0

您可以使用session_set_save_handler()来使用您自己的会话处理函数

在 PHP 5.4 中,您可以使用SessionHandlerInterface

默认情况下,您将收到已经序列化的数据,因此您必须将其反序列化并使用您自己的序列化例程。