Symfony,Liip Imagine bundle在prod环境中不在服务器上工作

时间:2014-06-24 08:39:42

标签: symfony production-environment liipimaginebundle

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

在我的本地计算机上,它可以完美运行,在我的服务器上也是如此,但只有在开发环境下才能运行。当我删除以前创建的缩略图(仅保留完整目录)时,清除prod缓存并加载任何网页,不会创建图像,其网址始终保留在 media / cache < / em>,记录器给我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
  • 权限始终至少是组rw(服务器上需要的内容)

1 个答案:

答案 0 :(得分:0)

在本地计算机上遇到类似的问题,但仍然在开发环境中。

对我来说,我在默认的media / cache文件夹上缺少group writable权限,在liip之后保持空:想象:cache:remove和page reload。因此图像链接到空文件夹。

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

  • sudo chgrp -R www-data web / media / cache

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

  • sudo chmod -R g + rwx web / media / cache

希望这会有所帮助......