Symfony 5.2 Error: The directory "var/cache/dev/jms_serializer" does not exist

Symfony 5.2 Error: The directory "var/cache/dev/jms_serializer" does not exist

Symfony 5.2 与 jms/serializer-bundle3.7.0.

在下一个请求中通过命令 cache:clear 清理 symfony 缓存后,我得到一个错误:

The directory "var/cache/dev/jms_serializer" does not exist

我注意到对于 symfony 4.4 $dir variablevar/cache/de_/jms_serializer 值,但是对于 symfony 5.2 有 var/cache/dev/jms_serializer

所以当 symfony 5.2 运行警告时,JMSSerializerBundle 在 var/cache/dev 而不是 var/cache/de_

中创建 jms_serializer 文件夹

序列化器配置:

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-data

P.S. 我不是很确定,但是对于 symfony 和序列化程序都没有 var/de 目录。它只是 symfony 在清除缓存过程中创建的一个临时目录,通常在成功完成后删除

问题已在 symfony 5.2.1 中修复