Я получил проект и пытаюсь запустить его в Docker со средой NGINX. Но похоже у меня баг с LiipImagine. В проекте используются Symfony 4 и LIIPImagine версии 2.0.x-dev.
Страница должна отображать изображения из кеша, пример URL изображения: https://localhost:8443/media/cache/live_feed_message/images/live_feed_message/5c486df1a78fe_lama-750389_960_720.jpg
Каталог существует с правами:
drwxr-xr-x 2 1000 1000 4069 Jan 23 13:35 live_feed_message
Все изображения хранятся в папке public/images/live_feed_message/, а в public/media/cache/live_feed_message/images/live_feed_message соответствующего изображения нет.
Я понял, что если я использую команду из LiipImagine: php app/console liip:imagine:cache:resolve relative/path/to/image1.jpg
Это дает такой результат:
http://localhost/media/cache/quizz_thumbnail/images/live_feed_message/name_file.jpg
http://localhost/media/cache/quizz_sponsors_icon/images/live_feed_message/name_file.jpg
http://localhost/media/cache/live_feed_message/images/live_feed_message/name_file.jpg
И тогда соответствующее изображение существует в кеше (public/media/cache/live_feed_message/images/live_feed_message), и изображение правильно отображается на странице...
На вкладке сети из консоли разработки я проверил ответ на HTTP-запрос. И я получаю этот ответ Symfony:
Unable to write to the "/srv/api/public/media/cache/live_feed_message/images/live_feed_message" directory.
Кто-нибудь знает, в чем может быть дело?
Уже 2 дня я не могу решить эту проблему, поэтому спасибо за помощь!
PS: я переопределил маршрут из routing.yaml из пакета. В пути было /resolve, и я переопределил его (на самом деле я удалил /resolve из пути liip_imagine_filter):
_liip_imagine:
resource: "@LiipImagineBundle/Resources/config/routing.yaml"
liip_imagine_filter:
path: /media/cache/{filter}/{path}
defaults:
_controller: '%liip_imagine.controller.filter_action%'
methods:
- GET
requirements:
filter: '[A-z0-9_-]*'
path: .+