问题描述
我删除了 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;
}
}