7

我有一个项目,我将上传的图像保存在src/My/Bundle/Resources/uploads/images/full中,并使用 twig 过滤器imagine_filter动态创建缩略图。

在我的本地机器上它可以完美运行,在我的服务器上也是如此,但仅在开发环境下。当我删除先前创建的缩略图(仅保留完整目录),清除产品缓存并加载任何网页时,不会创建图像,它们的 url 始终保留在media/cache下,并且记录器给了我request.ERROR

"No route found for "GET /uploads/images/avatar/354026c94b773b77ca945b4a6323e15c84102f6b.jpg"" at /<path>/app/cache/prod/classes.php line 1964 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException: No route found for \"GET /uploads/images/avatar/354026c94b773b77ca945b4a6323e15c84102f6b.jpg\" at /<path>/app/cache/prod/classes.php:1964, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException:  at /<path>/app/cache/prod/appProdUrlMatcher.php:1816

一些附加信息:

  • 我已将src/My/Bundle/Resources/uploads符号链接到web/uploads
  • 我的配置是(thumbnail_min是一个自定义过滤器): liip_imagine: loaders: default: filesystem: data_root: %kernel.root_dir%/../web/uploads/images/full resolvers: default: web_path: web_root: %kernel.root_dir%/../web cache_prefix: /uploads/images cache: default filter_sets: avatar: quality: 90 filters: thumbnail_min: { size: 50, mode: inset } .... full: quality: 100
  • 权限始终至少是 group rw (这就是服务器所需要的)
4

1 回答 1

0

刚刚在我的本地机器上遇到了类似的问题,但仍在开发环境中。

对我来说,我缺少对默认媒体/缓存文件夹的组可写权限,该文件夹在 liip:imagine:cache:remove 和页面重新加载后保持为空。因此图像链接到空文件夹。

为了解决这个问题,我首先确保将 Group 设置为 Apache 的 _www (mac) / www-data (linux),例如

  • sudo chgrp -R www-data 网络/媒体/缓存

然后确保文件夹设置为可读、可写和可执行,例如

  • sudo chmod -R g+rwx 网络/媒体/缓存

希望这可以帮助...

于 2014-12-05T08:25:13.420 回答