Не удается сериализовать SymfonyКомпонентКэшАдаптерАбстрактный адаптер

#symfony #fosuserbundle

Вопрос:

Я удалил FOSUserBundle и разработал свой собственный пользовательский модуль. С тех пор у меня появилась эта ошибка, которая появляется, когда я пытаюсь сериализовать сеанс.

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

РЕДАКТИРОВАТЬ : Я опубликовал этот вопрос, даже если у меня есть ответ, так как я потратил 3 дня на эту проблему, и это может помочь кому-то другому (например, мое будущее, когда я прохожу мимо)

Комментарии:

1. Рад, что у тебя все получилось. Если вы действительно хотите помочь «будущему вам», удалите FOSUserBundle как зависимость.

2. вот что я сделал

Ответ №1:

Проблема заключалась в том, что сущность пользователя не была правильно сериализована в сеансе. Мне пришлось изменить свою сущность следующим образом

 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->salt,
            $this->username,
            $this->enabled,
            $this->id,
            $this->email,
            $this->roles,
            $this->groups
            ) = $data;
    }
}