Symfony2的LiipImagineBundle路径缓存probleme(Symfony2 Li

2019-10-21 17:47发布

我设置一台Linux计算机上LiipImagineBundle配置(Xubuntu上14.10):

使用routing.yml

_liip_imagine:
    resource: "@LiipImagineBundle/Resources/config/routing.xml"

config.yml

liip_imagine:
    resolvers:
       default:
          web_path: ~

    filter_sets:
        cache: ~
        dashboard_thumb:
            quality: 75
            filters:
                thumbnail: { size: [60, 60], mode: outbound }

在我的树枝模板:

<img src="{{ asset(company.logo.getPath) | imagine_filter('dashboard_thumb') }}">

所有的源图像在网络/上传路径这是工作的罚款,被下产生图像缩略图网络/媒体/缓存/ dashboard_thumb /上传/

我的源文件存储在一个USB记忆棒,我lanch与服务器服务器:运行COMMANDE(所以在127.0.0.1:8000)

但最近,我lanched服务器下的另一台计算机(Linux Mint的17),然后,不再被生成的图像缓存。

当我看到生成的HTML源,图像文件路径是:

http://127.0.0.1:8000/media/cache/resolve/dashboard_thumb/uploads/myimage.png

所以我不知道为什么有一个“解析”的路径

其他的事情,如果我启动命令:

liip:imagine:cache:resolve uploads/myimage.png

路径和图像的网络/媒体/缓存/ dashboard_thumb /上传/ myimage.png很好创建

为什么这并不自动工作?

谢谢。

Answer 1:

似乎有关设置权限的问题。 基本上,系统操作用户的CLI(和部署)和Web服务器必须在同一组。

请检查文档的Symfony应用程序配置和设置

PS:你正在寻找的命令CHOWN,但仅仅是一个解决办法的,我建议你固定在操作用户层。

希望这有助于



Answer 2:

...所以我不知道为什么有一个“解析”的路径

如果你没有为你的图像缓存, LiipImagineBundleimagine_filter你的情况)生成根据此规则的路由

liip_imagine_filter:
    path: /media/cache/resolve/{filter}/{path}
    defaults:
        _controller: '%liip_imagine.controller.filter_action%'
    methods:
        - GET
    requirements:
        filter: '[A-z0-9_-]*'
        path: .+

和您的要求处理由ImagineController https://github.com/liip/LiipImagineBundle/blob/1.0/Controller/ImagineController.php

所以,你看到的不是图片的路径,但路线。 控制器产生的缓存和访问本图片第二次请求会给你真正的路径图像。

还有一个问题,如果你需要重视图像的电子邮件,您必须安装此人之前先解决图像。

此外,如果缓存不是在你的Web服务器的配置,也许产生了,这一问题。 试想一下,你的Nginx的决定,网络/媒体/缓存/ *是静态的内容,因此,该航线网络/媒体/缓存/解决只是不工作。



文章来源: Symfony2 LiipImagineBundle path cache probleme