Я делаю процесс миграции с Magento 1.9.2.4 на Magento 2.1.6, после завершения миграции я перемещаю медиа-папку M1 в pub / media M2.
Теперь проблема в том, что некоторые изображения не генерируются в папке catalog / Cache
Например, ниже изображения идут к 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% неработающих изображений
можете поделиться обходным путем, чтобы исправить эту проблему?
magento2
product-images
image
migration
magento2-migration-tool
Билал Усеан
источник
источник
Ответы:
Вы должны попробовать использовать команду изменения размера изображения, чтобы предварительно сгенерировать все необходимые изменения размера.
php bin/magento catalog:image:resize
Эта команда получает все размеры изображений, которые были определены в XML-теме, и создает изображения в соответствующих папках.
Вы также можете проверить документацию команды для получения дополнительной информации http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/theme-images.html
источник
У меня также была эта проблема, и даже генерация образов командной строки, упомянутая выше, не работала. Кажется, Magento кеширует информацию о том, что миниатюра создана, и даже стандартная очистка кеша Magento (как из командной строки, так и из панели администратора) не удаляет эту информацию из кеша.
Я удалил все содержимое каталогов вручную, и это помогло:
.. и так далее. Тогда эскизы изображений должны генерироваться корректно «по запросу» при просмотре сайта.
источник
У меня была точно такая же проблема, но с Magento 2.3.2
Для меня это были миниатюрные изображения продуктов, которые имели неправильный путь кеша. Изображения товаров и категорий были правильными, но URL-адрес недействителен и отображал заполнитель изображения std Magento.
Я использовал собственную тему.
При использовании SHH "php bin / magento catalog: images: resize" - что происходило? Изображения создавались с использованием темы Luma etc / view.xml вместо пользовательской темы etc / view.xml.
Проблема. При просмотре моей пользовательской темы в браузере, который использует изображения разных размеров, чем тема Luma, Magento не может найти изображения и выдает ошибку 404.
Исправление
Мне потребовалась неделя, чтобы выяснить, как это исправить, но теперь все работает нормально.
источник
Пожалуйста, посмотрите ваш конфиг в используемой вами теме и убедитесь, что конфиг в вашем исходном хранилище совпадает с конфигом в вашей цели. Вы можете сослаться на это: https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-images.html
Затем запустите:
php bin / magento каталог: изображения: изменить размер
Позвольте мне знать, если это помогает!
источник
Ответ 20 ноября 2019 года:
Регенерация кэша изображений по команде - нереальное решение для всех, потому что это займет много времени для некоторого веб-сайта, на котором много продуктов. Кроме того, я столкнулся с некоторыми проблемами, такими как, если мы создадим образ кэша из CLI, он будет работать. Когда мы очищаем изображения от администратора или удаляем кэшированное изображение вручную, тогда при загрузке страницы он не будет снова генерировать изображение кэша, поэтому мне нужно снова и снова запускать команду регенерации. На мой взгляд, лучшее решение - создать кеш изображений при загрузке страницы.
Поток по умолчанию
Поток Magento по умолчанию - всякий раз, когда он загружает изображение (медиа), он всегда проходит через запрос к pub / get.php и проверяет, существует изображение или нет. Если он не существует, он сгенерирует новое кэшированное изображение. Если он существует, он вернет этот путь. Поэтому по умолчанию изображение должно генерироваться при загрузке страницы.
Мы можем проверить эту логику в следующих файлах
pub/media/.htaccess
для сервера Apachenginx.conf.sample
для сервера nginxКак проверить работает эта логика или нет?
Поместите
echo "test";exit;
в начало файла pub / get.php и загрузите любой кешированный медиа-URL, он должен напечатать test. В противном случае что-то не так в конфигурации вашего сервера.Для меня всякий раз, когда я удаляю каталог кэша каталога (rm -rf pub / media / catalog / product / cache / *) после этого, когда мы загружаем страницу, он не генерирует новое кэшированное изображение, и он переходит на страницу 404, не найденную и также это никогда не достигает get.php . Затем я заметил, что у многих папок были неправильные разрешения, отличающиеся от 755 для папок и 644 для файлов. После того, как я установил правильное разрешение, все работает нормально.
Я надеюсь, что это дает некоторую идею.
источник