我在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') }}">
所有源图像都在 web/uploads 路径下这工作正常,图像缩略图是在 web/media/cache/dashboard_thumb/uploads/ 下生成的
我的源文件存储在USB记忆棒下,我用服务器来运行服务器:运行commande(所以在127.0.0.1:8000下)
但最近,我将服务器置于另一台计算机(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
路径和图像web / media / cache / dashboard_thumb / uploads / myimage.png创建得很好
为什么这不会自动起作用?
谢谢 .
2 回答
似乎有关设置权限的问题 . 基本上,CLI(和部署)和Web服务器的系统操作用户必须位于同一组中 .
检查Symfony Application Configuration and Setup的文档
PS:您正在寻找的命令是chown,但只是一种解决方法,我建议您修复操作用户层 .
希望这有帮助
如果您的图像没有缓存,
LiipImagineBundle
(在您的情况下为imagine_filter
)会根据此规则生成路由,并且您的请求由
ImagineController
https://github.com/liip/LiipImagineBundle/blob/1.0/Controller/ImagineController.php处理所以,你看不到图像路径,而是路径 . Controller生成缓存,您对该图像的第二个请求将为您提供实际的图像路径 .
有一个问题,如果您需要将图像附加到邮件消息,则必须在附加图像之前解析图像 .
此外,如果缓存不再生成,则问题可能出在Web服务器配置中 . 想象一下,你的Nginx决定web / media / cache / *是静态内容,因此,web / media / cache / resolve路由不起作用 .