Symfony 3.1 - 缓存和图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony 3.1 - 缓存和图像相关的知识,希望对你有一定的参考价值。

我对Symfony很新,所以希望我的问题不会太愚蠢,而且足够精确以获得帮助。

所以,我在一个由另一个人开发的网站上使用Symfony 3.1.10,我无法获得这方面的更多信息。昨天,对于我的视图渲染中的一个小问题,我运行了“魔法”命令“cache:clear --no-warmup”,这很好。但现在,我在尝试访问一些图像时遇到404错误,位于:/media/cache/resolve/avatar/uploads/product/5ab37697e4da2.jpg。 乍一看,这对你来说似乎很正常吗?我做错了什么吗? 对我来说,似乎我删除了以前的命令一些缓存文件(图像,这里),symfony没有注意到它,所以它不会重新缓存它们,仍然尝试通过缓存访问它们?

回答以下问题: - 我的liip_imagine.yml文件(包含在config.yml文件中)非常简单:

liip_imagine:
resolvers:
   default:
      web_path: ~

filter_sets:
    cache: ~
    avatar:
        quality: 75
        filters:
            thumbnail: { size: [75, 75], mode: outbound }
    thumbnail:
        quality: 75
        filters:
            thumbnail: { size: [120, 90], mode: outbound }
    middle:
        quality: 75
        filters:
            thumbnail: { size: [240, 180], mode: outbound }
    normal:
        quality: 75
        filters:
            thumbnail: { size: [800, 600], mode: outbound }
    cover:
        quality: 75
        filters:
            thumbnail: { size: [1200, 300], mode: outbound }

    relative_thumbnail:
        filters:
            relative_resize: { widen: 160 }
  • 尝试运行命令wthout no-warmup,并删除/ var / cache / dev文件夹,并获得相同的结果(有关信息,它是一个生产站点,我应该清除/ var / cache / prod文件夹吗?如果所以,有什么需要注意的,不要把我的网站放下来吗?)
  • 我完全不知道应该找到原始文件的位置。但是,可以肯定的是,我没有找到它们,按名称搜索它们(例如,在我的整个网站文件夹中搜索5ab37697e4da2.jpg并没有返回任何内容。
  • prod.log文件中没什么有趣的。

谢谢,

奥利维尔。

答案

如果一切配置正确,则应在需要时自动重新生成缓存数据。如果你得到404,则意味着没有发生这种情况。

如果您在尝试访问原始(非缓存)文件时出现错误,则会出现问题:原始文件丢失,网站因缓存图像而工作,但现在它们也已消失。

如果不是这种情况,最好的机会是检查var/logs/prod.log,看看创建缓存图像时出了什么问题。

以上是关于Symfony 3.1 - 缓存和图像的主要内容,如果未能解决你的问题,请参考以下文章

symfony 3.1路由{占位符}默认值

Symfony 3.1 和 OneUploaderBundle + Blueimp = UploadListener 未被调用

Rails 3.1 资产管道和缓存

如何正确地使 Symfony2 应用程序的生产缓存无效?

在 Symfony 中防止 Doctrine 的查询缓存

Symfony2禁用缓存?