Відновити проблеми із зображенням кеш-каталогу


19

Я роблю процес міграції з Magento 1.9.2.4 на Magento 2.1.6, після завершення міграції переміщую папку мультимедіа від M1 до pub / media M2.

Тепер проблема полягає в тому, що деякі зображення не генеруються в папці Каталог / Кеш

Наприклад нижче зображень йде до 404 не знайдено

pub/media/catalog/product/cache/f9c7fbe9b524c081a3ccf800cbd963eb/m/s/msj006c-red_2.jpg
pub/media/catalog/product/cache/75eed2686e01eb22cb4050b2f40ddf97/m/s/msj006c-red_2.jpg
pub/media/catalog/product/cache/f9c7fbe9b524c081a3ccf800cbd963eb/m/s/msj006c-red_2.jpg

Мені подобалося просто видалити папку кеш-каталогу каталогів і завантажити сторінку знову, але все одно вона переходить до зламаного зображення.

На моїй сторінці є 50% зламаних зображень

введіть тут опис зображення

Ви можете поділитися способом вирішення цієї проблеми?


Привіт, білал, може, будь ласка, допоможіть мені та запропонуйте magento.stackexchange.com/questions/283277/…
Nagaraju K

Відповіді:


29

Спробуйте скористатися командою зміни розміру зображення, щоб попередньо генерувати всі необхідні розміри.

php bin/magento catalog:image:resize

Ця команда отримує всі розміри зображень, визначені в темі XML, і попередньо генерує зображення у правильних папках.

Ви також можете перевірити командну документацію для отримання додаткової інформації http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/theme-images.html


5
FYI - ця команда займає абсолютно вічно для роботи в магазині будь-якого розміру. На недавньому пробігу ми побачили більше 17 годин. В інших випадках його потрібно було пробігти на вихідні. Дивіться: github.com/magento/magento2/isissue/8145
Leland

У мене була така сама проблема, я запускаю ці cmd-зображення, але вони показують, але після кеш-пам’яті всі зображення знову порушені, а в папці кешу немає зображень
imtiazau

1
Якщо ви використовуєте каталог php bin / magento: image: змінити розмір, знадобиться більше 1 дня, а будь-який інший найкращий метод?
Soundararajan m

@ Алекс Дінка, будь ласка, допоможіть мені на цьому magento.stackexchange.com/questions/283277/…
Nagaraju K

Я отримую зображення Magento 2 з Magento 1 за допомогою snipboard.io/JZ2bQR.jpg , як вирішити проблему кешу? @Alex
Gem

0

У мене також була ця проблема, і навіть згадане вище генерування зображень командного рядка не працювало. Здається, Magento кешує інформацію, що створюється мініатюра, і навіть стандартне очищення кеш-пам'яті Magento (як командного рядка, так і адміністративної панелі) не видаляє цю інформацію з кешу.

Я видалив увесь вміст каталогів кеша вручну, і це допомогло:

rm -Rf var/cache/*
rm -Rf var/page_cache/*

.. і так далі. Тоді ескізи зображень повинні генеруватися належним чином "на вимогу" під час перегляду сайту.


0

У мене була така сама проблема, але з Magento 2.3.2

Для мене це були мініатюрні зображення продуктів, які мали неправильний хеш-шлях кешу. Зображення продуктів і категорій були правильними, але великі URL-адреси великих пальців невірно відображали заповнювач зображення std Magento

Я використовував власну тему.

При використанні SHH "php bin / magento каталога: зображення: зміни розміру" - що відбувалося? Зображення створюються за допомогою теми Luma etc / view.xml замість спеціальної теми etc / view.xml.

Проблема. Переглядаючи мою власну тему в браузері, яка використовує зображення різного розміру до теми Luma, Magento не зміг знайти зображення та виявив помилку 404.

Виправлення.

Replace Luma themes etc/view.xml with my custom theme etc/view.xml
Using SHH run "php bin/magento catalog:images:resize

У мене знадобився тиждень, щоб дізнатися, як це виправити, але це все працює нормально.


0

Перегляньте свій конфігурацію в темі, яку ви використовуєте, і переконайтеся, що конфігурація у вашому сховищі даних однакова з конфігурацією у вашій цілі. Ви можете посилатися на це: https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-images.html

Потім запустіть:

php bin / magento каталог: зображення: розмір

Дайте мені знати, якщо це допомагає!


0

Відповідь 20 листопада 2019 року:

Відновити кеш зображень за командою не є можливим рішенням для всіх, тому що для веб-сайту, який містить багато продуктів, буде потрібно багато часу. Крім того, я зіткнувся з деякими проблемами, такими як якщо ми генеруємо кеш-зображення з CLI, воно буде спрацьовувати. Коли ми видаляємо зображення з адміністратора або видаляємо кешоване зображення вручну вручну, воно не буде генерувати кеш-зображення знову при завантаженні сторінки, тому мені потрібно запускати команду відновити знову і знову. На мій погляд, найкращим рішенням є створення кешу зображень при завантаженні сторінки.

Потік за замовчуванням

Потік Magento за замовчуванням - це щоразу, коли він завантажує зображення (медіа), він завжди передаватиме запит на pub / get.php і перевірятиме, чи існує зображення чи ні. Якщо його не існує, він створить нове кешоване зображення. Якщо він існує, він поверне цей шлях. Тож за замовчуванням зображення має генеруватися при завантаженні сторінки.

Ми можемо перевірити цей прохід за допомогою логіки у наведених нижче файлах

pub/media/.htaccessдля сервера apache

RewriteRule .* ../get.php [L]
.............................
.............................

nginx.conf.sampleдля сервера nginx

location /media/ {
    try_files $uri $uri/ /get.php$is_args$args;
    .......................................
    .......................................

Як перевірити, чи працює ця логіка чи ні?

Помістіть echo "test";exit;на початку pub / get.php і завантажте будь-яку кешовану медіа-URL, вона повинна надрукувати тест. Інакше в конфігурації вашого сервера щось не так.

Для мене, коли я видаляю каталог кешу каталогу (rm -rf pub / media / catalog / product / cache / *) після цього, коли ми завантажуємо сторінку, він не генерує нове кешоване зображення, і він переходить на сторінку 404 не знайдено і також він ніколи не досягає get.php . Потім я помітив, що для багатьох папок були невірні дозволи, відмінні від 755 для папок і 644 для файлів. Після того, як я встановив потрібний дозвіл, він працює чудово.

Я сподіваюся, що це дає певну ідею.


Будь-яка допомога magento.stackexchange.com/q/296715/57334 дякує @Bilal Usean
zus
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.