Symfony 3.1 - Кэш и изображения

Я новичок в Symfony, поэтому надеюсь, что мой вопрос не будет слишком глупым и достаточно точным, чтобы получить помощь.

Итак, я использую Symfony 3.1.10 на сайте, который был разработан другим человеком, и я не могу получить много информации об этой стороне. Вчера, из-за небольшой проблемы с рендерингом представлений, я выполнил «волшебную» команду «cache: clear --no-warmup», которая прошла нормально. Но теперь я получаю 404 ошибки при попытке доступа к некоторым изображениям, расположенным в: /media/cache/resolve/avatar/uploads/product/5ab37697e4da2.jpg.
На первый взгляд, вам это кажется нормальным? Я что-то сделал не так?
Мне кажется, что я стер с помощью предыдущей команды некоторые кешированные файлы (изображения, здесь), и symfony не замечает этого, поэтому он не будет их повторно кэшировать и все равно пытается получить к ним доступ через кеш?

Чтобы ответить на следующие вопросы:
- Мой файл liip_imagine.yml (включенный в файл config.yml) очень прост:

liip_imagine:
resolvers:
   default:
      web_path: ~

filter_sets:
    cache: ~
    avatar:
        quality: 75
        filters:
            thumbnail: { size: [75, 75], mode: outbound }
    thumbnail:
        quality: 75
        filters:
            thumbnail: { size: [120, 90], mode: outbound }
    middle:
        quality: 75
        filters:
            thumbnail: { size: [240, 180], mode: outbound }
    normal:
        quality: 75
        filters:
            thumbnail: { size: [800, 600], mode: outbound }
    cover:
        quality: 75
        filters:
            thumbnail: { size: [1200, 300], mode: outbound }

    relative_thumbnail:
        filters:
            relative_resize: { widen: 160 }
  • попытался запустить команду без разминки и удалить папку / var / cache / dev и получил тот же результат (для информации, это производственный сайт, следует ли мне очистить папку / var / cache / prod? И если Итак, есть ли что-нибудь, о чем нужно позаботиться, чтобы мой сайт не закрылся?)
  • Я совершенно не знаю, где искать мои исходные файлы. Но я уверен, что я не нашел их, ища их по имени (например, здесь поиск 5ab37697e4da2.jpg во всей папке моего веб-сайта ничего не дал.
  • И ничего интересного в файле prod.log.

Спасибо,

Оливье.

Я создал маршруты и прочее (прокси для сущностей доктрины и многое другое). У вас есть причина, по которой использовать без разминки? Затем из пути в файлах похоже, что вы используете github.com/liip/LiipImagineBundle для изображений, я бы попытался получить доступ к пути напрямую и посмотреть, какую ошибку я получаю (попробуйте войти в /var/log/dev.log)

M. Kebza 15.05.2018 12:54

Да, я "мог бы" использовать LiipImagineBundle, я должен это проверить, но я полагаю, что вы правы в этом. Кстати, попытка прямого доступа к пути с помощью /avatar/uploads/product/5ab37697e4da2.jpg или /resolve/avatar/uploads/product/5ab37697e4da2.jpg завершилась с ошибкой 404 http.

Olivier 15.05.2018 15:01

Проверьте конфигурацию этого пакета. Есть путь к файлам, если хранилище не было в каталоге кеша, все должно быть в порядке. Попробуйте также запустить cache: clear без -no-warmup, попробуйте удалить var / cache / dev, чтобы посмотреть, поможет ли это. Если нет, вам нужно будет опубликовать конфигурацию этого пакета

M. Kebza 15.05.2018 15:52

Привет, M.Kebza, описал, что я нашел благодаря своим знаниям о Symfony. Надеюсь, это поможет вам помочь мне;)

Olivier 16.05.2018 15:55

Не работал несколько дней, конфигурация выглядит нормально. Но если вы не можете найти изображения в файловой системе даже по имени, возможно, они больше не существуют. Последнее изменение - попытаться переключиться в режим разработки и получить доступ к /media/cache/resolve/avatar/uploads/product/5ab37697e4da2.jp‌ g и посмотреть, что он показывает, но я думаю, он покажет отсутствующий файл.

M. Kebza 21.05.2018 03:51
Применение градиента к изображению с помощью CSS
Применение градиента к изображению с помощью CSS
Здравствуйте, братья и сестры, как дела? Недавно я застрял на применении градиента к изображению. Я применял это много раз, но иногда наши требования...
Получение URL-адреса изображения курса в Moodle с помощью PHP
Получение URL-адреса изображения курса в Moodle с помощью PHP
Moodle - это популярная система управления обучением с открытым исходным кодом, используемая многими учебными заведениями и организациями по всему...
1
5
531
1

Ответы 1

Если все настроено правильно, кэшированные данные должны при необходимости автоматически регенерироваться. Если вы получили 404, значит, этого не происходит.

Если вы получаете сообщение об ошибке даже при попытке доступа к исходному (не кэшированному) файлу, проблема заключается в следующем: исходный файл отсутствует, сайт работал благодаря кэшированным изображениям, но теперь они тоже исчезли.

Если это не так, лучше всего проверить var/logs/prod.log, чтобы увидеть, что не так при создании кэшированных изображений.

Другие вопросы по теме