Symfony2 LiipImagineBundle проблема с кэшем путей

Я установил конфигурацию LiipImagineBundle на компьютере с Linux (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 / СМИ / кэш / dashboard_thumb / загрузки /

Мои исходные файлы хранятся на 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 хорошо созданы

почему это не работает автоматически?

Благодарю.

1

Решение

Кажется проблема с настройкой разрешений. В основном, пользователи операционной системы для CLI (и развертывания) и веб-сервера должны быть в одной группе.

Проверьте документ на Конфигурация и настройка приложения Symfony

PS: команда, которую вы ищете, это chown, но это всего лишь обходной путь, и я предлагаю вам исправить это на уровне пользователя.

Надеюсь это поможет

1

Другие решения

… так что я не знаю, почему на пути есть «решимость»

Если у вас нет кеша для вашего изображения, LiipImagineBundle (imagine_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

Итак, Вы видите не путь к изображению, а маршрут. Контроллер генерирует кеш, и ваш второй запрос к этому изображению даст вам путь к изображению.

Существует проблема, если вам нужно прикрепить изображение к почтовому сообщению, вы должны разрешить изображение, прежде чем прикреплять это.

Также, если кеш больше не генерируется, возможно, проблема в конфигурации вашего веб-сервера. Представьте себе, что ваш Nginx решает, что web / media / cache / * является статическим контентом, поэтому маршрут web / media / cache / resolution просто не работает.

0

По вопросам рекламы [email protected]