Symfony 5.2错误:目录为;var/cache/dev/jms“序列化程序”;不存在

Symfony 5.2错误:目录为;var/cache/dev/jms“序列化程序”;不存在,symfony,symfony5,jmsserializerbundle,jms-serializer,Symfony,Symfony5,Jmsserializerbundle,Jms Serializer,带有jms/序列化程序包3.7.0的Symfony 5.2 通过命令清除symfony缓存后cache:clear在下一次请求时,我收到一个错误: 目录“var/cache/dev/jms_serializer”不存在 我注意到,对于symfony 4.4,有var/cache/de\u/jms\u序列化程序value,但是对于symfony 5.2,有var/cache/dev/jms\u序列化程序 因此,当symfony 5.2运行warn up时,JMSSerializerBundle会在

带有jms/序列化程序包3.7.0的Symfony 5.2

通过命令清除symfony缓存后
cache:clear
在下一次请求时,我收到一个错误:

目录“var/cache/dev/jms_serializer”不存在

我注意到,对于symfony 4.4,有
var/cache/de\u/jms\u序列化程序
value,但是对于symfony 5.2,有
var/cache/dev/jms\u序列化程序

因此,当symfony 5.2运行warn up时,JMSSerializerBundle会在
var/cache/dev
中创建
jms\u序列化程序
文件夹,而不是
var/cache/de\code>

序列化程序配置:

jms_serializer:
    visitors:
        xml_serialization:
        format_output: '%kernel.debug%'
    property_naming:
        id: 'jms_serializer.identical_property_naming_strategy'

尝试删除缓存目录

rm -rf var/cache
并使用php用户创建它:

sudo su www-data // Login as php user
mkdir var/cache // create cache directory
chown -R $USER:$USER var/cache // Change owner of cache directory
其中,运行php的用户不是www数据


p.S.我不能完全确定,但是symfony和serializer都没有
var/de
目录。它只是symfony在清除缓存过程中创建的临时目录,通常在成功完成后删除该目录

问题在symfony 5.2.1中得到解决

谢谢,但我必须使用
cache:clear
命令。如果我没有弄错的话,
var/de\u
目录被用于警告缓存,当原始的
var/dev
目录被删除时,这个目录将被重命名为
var/dev
。我相信旧的
de\u
目录被弄乱了,不会让新的目录覆盖缓存。您需要以某种方式将其删除。
var/de_
目录未被删除,成功完成后将其重命名为
var/dev
,请参见5.2.1版本中的symfony修复