[英]Symfony 5.2 Error: The directory “var/cache/dev/jms_serializer” does not exist
Symfony 5.2 with jms/serializer-bundle 3.7.0. Symfony 5.2 与 jms/serializer-bundle 3.7.0。
After symfony cache cleaning by command cache:clear
on the next request I get an error:在 symfony 缓存通过命令cache:clear
下一个请求后,我得到一个错误:
The directory "var/cache/dev/jms_serializer" does not exist目录“var/cache/dev/jms_serializer”不存在
I noticed that for symfony 4.4 $dir variable has var/cache/de_/jms_serializer
value, but for symfony 5.2 has var/cache/dev/jms_serializer
我注意到对于 symfony 4.4 $dir 变量具有var/cache/de_/jms_serializer
值,但对于 symfony 5.2 具有var/cache/dev/jms_serializer
So when symfony 5.2 runs warn up, JMSSerializerBundle creates jms_serializer
folder in var/cache/dev
instead of var/cache/de_
因此,当 symfony 5.2 运行警告时,JMSSerializerBundle 在var/cache/dev
而不是var/cache/de_
中创建jms_serializer
文件夹
serializer config:序列化器配置:
jms_serializer:
visitors:
xml_serialization:
format_output: '%kernel.debug%'
property_naming:
id: 'jms_serializer.identical_property_naming_strategy'
Try to just remove cache directory.尝试仅删除缓存目录。
rm -rf var/cache
And create it with php user:并使用 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
where instead of www-data is the user which run your php.运行 php 的用户不是 www-data。
PS I am not fully sure, but there is no var/de
directory neither for symfony, neither for serializer. PS我不完全确定,但 symfony 和序列化程序都没有var/de
目录。 It is just an temporary directory created by symfony while clearing cache process, which is usually removed after successful finish它只是symfony在清除缓存过程中创建的一个临时目录,通常成功完成后会被删除
The problem is fixed in symfony 5.2.1该问题已在 symfony 5.2.1 中修复
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.