Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从FOSUserBundle扩展的用户在Easyadmin列表的偏移量处导致unserialize()错误_Php_Symfony_Twig_Fosuserbundle_Symfony2 Easyadmin - Fatal编程技术网

Php 从FOSUserBundle扩展的用户在Easyadmin列表的偏移量处导致unserialize()错误

Php 从FOSUserBundle扩展的用户在Easyadmin列表的偏移量处导致unserialize()错误,php,symfony,twig,fosuserbundle,symfony2-easyadmin,Php,Symfony,Twig,Fosuserbundle,Symfony2 Easyadmin,我使用1.16.10版本的EasyAdminBundle。 我创建了用户实体,从FOSUser的模型(如文档中所示)扩展它,并将其添加到easyadmin配置文件中。因此,我得到了以下错误: 在呈现模板期间引发了异常(“注意:unserialize():偏移量0处的错误,共34个字节”) 堆栈跟踪的完整描述: 关键-未捕获的PHP异常Twig_Error_运行时:“在呈现模板期间引发了异常(“注意:unserialize():偏移量0处的错误,共34个字节”)。”位于\vendor\javieg

我使用1.16.10版本的EasyAdminBundle。 我创建了用户实体,从FOSUser的模型(如文档中所示)扩展它,并将其添加到easyadmin配置文件中。因此,我得到了以下错误:

在呈现模板期间引发了异常(“注意:unserialize():偏移量0处的错误,共34个字节”)

堆栈跟踪的完整描述:

关键-未捕获的PHP异常Twig_Error_运行时:“在呈现模板期间引发了异常(“注意:unserialize():偏移量0处的错误,共34个字节”)。”位于\vendor\javieguiluz\easyadmin bundle\Resources\views\default\list.html.Twig行132

因此,我的实体代码:

导入到config.yml的My user.yml文件:

easy_admin:
    entities:
        User:
            class: BackofficeBundle\Entity\AclUser
            list:
                fields:
                    - id
                    - username
                    - email
                    - enabled
                    - lastLogin
                    - { property: roles, type: json_array, template: '@BackofficeBundle/Resources/views/fields/role.html.twig' }

            form:
                fields:
                    - username
                    - email
                    - enabled
                    - lastLogin
                    - { property: 'plainPassword', type: 'text', type_options: { required: false } }
                    - { property: 'roles', type: 'choice', type_options: { multiple: true, choices: { 'ROLE_APP_SUPER_ADMIN' : 'ROLE_APP_ADMIN', 'ROLE_APP_ADMIN' : 'ROLE_APP_USER', 'ROLE_APP_USER' : 'ROLE_USER' } } }`
我做错了什么?是什么导致了这个错误?如何解决此问题?

FOS UserBundle的基包含一个序列化和非序列化,它将模型的属性输出为数组,然后在此数组上调用serialize,并再次从该数组反序列化和设置自身


我的假设是,您或者重命名了其中的一些属性,或者尝试加载一个模型,该模型包含无法由unserialize处理的数据,例如,因为数据在某个点被截断或类似的奇怪情况。您可能希望清除旧会话,因为据我所知,序列化/取消序列化仅用于在会话中存储数据,或者您可能希望通过查看试图取消序列化的序列化数据来开始调试。

您是对的。我在Roles字段中的值不是json数组,所以出现了这个错误。非常感谢。
easy_admin:
    entities:
        User:
            class: BackofficeBundle\Entity\AclUser
            list:
                fields:
                    - id
                    - username
                    - email
                    - enabled
                    - lastLogin
                    - { property: roles, type: json_array, template: '@BackofficeBundle/Resources/views/fields/role.html.twig' }

            form:
                fields:
                    - username
                    - email
                    - enabled
                    - lastLogin
                    - { property: 'plainPassword', type: 'text', type_options: { required: false } }
                    - { property: 'roles', type: 'choice', type_options: { multiple: true, choices: { 'ROLE_APP_SUPER_ADMIN' : 'ROLE_APP_ADMIN', 'ROLE_APP_ADMIN' : 'ROLE_APP_USER', 'ROLE_APP_USER' : 'ROLE_USER' } } }`