Я не понимаю, я работаю под Symfony 3 и у меня просто возникает ошибка, когда я хочу перейти на свою страницу администрирования пользователей:
Notice: unserialize(): Error at offset 11 of 28 bytes
Symfony\Component\Debug\Exception\ ContextErrorException
in vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php (line 58)
Однако, прежде чем это работало очень хорошо, это очень странно. У нескольких других людей уже была такая же проблема, но это никогда не было той же причиной.
Помнится, я делал небольшую пустоту в бесполезных файлах своего проекта, но удалял то, что не использовалось, и закомментированные блоки, которые не использовал.
Если это поможет решить мою проблему, вот мой user.php
Спасибо !
Обновлено: Хорошо, я просто очень глуп. Моя сущность User наследуется от FOSUserBundle. В моей базе данных у меня был пользователь с ролью SUPER_ADMIN. Тем временем Suaf в своем коде я удалил эту роль, чтобы оставить только роль ADMIN, и я изменил себя в базе данных, удалив слишком много «SUPER». Я не думал, что это сделает такой баг, если кто-нибудь может объяснить мне, почему, для моей культуры.
Но в любом случае проблема все же решаема!






Это происходит потому, что роли хранятся в виде сериализованного массива, например:
a:1:{i:0;s:16:"ROLE_SUPER_ADMIN";}
Видишь это s:16? Это означает, что при десериализации php займет 16 символов (а это ровно ROLE_SUPER_ADMIN).
Итак, когда вы удалили SUPER, ваши данные стали
a:1:{i:0;s:16:"ROLE_ADMIN";}
а s:16 — это неправильный, потому что теперь у вас есть символы 10 вместо 16. Но php пытается получить 16, что вызывает ошибку.
Это приводит нас к выводу, что редактирование необработанных данных — это не хорошая идея.