Symfony 5.2 错误:目录“var/cache/dev/jms_serializer”不存在

问题描述 投票:0回答:3

Symfony 5.2 与 jms/serializer-bundle 3.7.0.

在下一个请求中通过命令

cache:clear
清理 symfony 缓存后,我收到错误:

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

我注意到对于 symfony 4.4 $dir 变量

var/cache/de_/jms_serializer
值,但对于 symfony 5.2 有
var/cache/dev/jms_serializer

因此,当 symfony 5.2 运行警告时,JMSSerializerBundle 在

jms_serializer
中创建
var/cache/dev
文件夹而不是
var/cache/de_

序列化器配置:

jms_serializer:
    visitors:
        xml_serialization:
        format_output: '%kernel.debug%'
    property_naming:
        id: 'jms_serializer.identical_property_naming_strategy'
symfony symfony5 jmsserializerbundle jms-serializer
3个回答
1
投票

尝试仅删除缓存目录。

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 在清除缓存过程时创建的临时目录,通常在成功完成后被删除


1
投票

该问题已在 symfony 5.2.1 中修复


0
投票

我遇到了同样的问题,“/var/cache/prod/jms_serializer_default 不可写。”这些基本步骤用 Mautic 解决了这个问题,但您可以将相同的原则应用于您的案例。

  1. cd /var/cache/prod
  2. chmod 777 jms_serializer_default
  3. chmod 755 jms_serializer_default
  4. 我尝试重现该错误,并在当前错误日志下验证,此错误“jms_serializer_default 不可写”。不再显示。
  • Mautic版本5.0.3
  • CentOS Linux 版本 7.9.2009(核心)
© www.soinside.com 2019 - 2024. All rights reserved.