Symfony 5.2错误:目录为;var/cache/dev/jms“序列化程序”;不存在
带有jms/序列化程序包3.7.0的Symfony 5.2 通过命令清除symfony缓存后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会在
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修复