无法序列化 Symfony\Component\Cache\Adapter\AbstractAdapter

问题描述

删除了 FosUserBundle 并开发了我自己的用户模块。从那时起,当我尝试序列化会话时,我会弹出这个错误

$session->set($this->sessionKey,serialize($token));

编辑:即使我有答案,我也发布了这个问题,因为我在这个问题上花了 3 天时间,它可以帮助其他人(例如我未来的我)

解决方法

问题是用户实体在会话中没有正确序列化。我不得不修改我的实体如下

class User implements UserInterface,\Serializable
{
    /**
     * {@inheritdoc}
     */
    public function serialize()
    {
        $test = null;
        return serialize([
            $this->password,$this->salt,$this->username,$this->enabled,$this->id,$this->email,$this->roles,$this->groups
        ]);
    }

    /**
     * {@inheritdoc}
     */
    public function unserialize($serialized)
    {
        $data = unserialize($serialized);

        list(
            $this->password,$this->groups
            ) = $data;
    }
}