Saltar al contenido

Problemas de regeneración de imágenes de caché de catálogo

Solución:

Debería intentar usar el comando de cambio de tamaño de la imagen para generar previamente todos los cambios de tamaño necesarios.

php bin/magento catalog:image:resize

Este comando obtiene todos los tamaños de imágenes que se han definido en el XML del tema y pregenera las imágenes en sus carpetas correctas.

También puede consultar la documentación del comando para obtener más información http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/theme-images.html

Respuesta el 20 de noviembre de 2019:

Regenerar la caché de imágenes por mando no es una solución factible para todos porque tomará mucho tiempo para algunos sitios web que tienen muchos productos. Además, enfrenté algunos problemas como si generamos una imagen de caché desde CLI, funcionará. Cuando eliminamos las imágenes del administrador o eliminamos la imagen en caché manualmente en ese momento, no volverá a generar una imagen de caché al cargar la página, por lo que necesito ejecutar el comando de regeneración una y otra vez. Según mi punto de vista, la mejor solución es generar caché de imágenes al cargar la página.

Flujo predeterminado

El flujo predeterminado de Magento es cada vez que carga una imagen (medios), siempre pasará la solicitud a pub / get.php y verificará si la imagen existe o no. Si no existe, generará una nueva imagen en caché. Si existe, devolverá ese camino. Entonces, por defecto, la imagen debería generarse al cargar la página.

Podemos verificar esta lógica de paso a través en los archivos a continuación

pub/media/.htaccess por servidor apache

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

nginx.conf.sample por servidor nginx

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

¿Cómo comprobar que esta lógica funciona o no?

Poner echo "test";exit; al inicio de pub / get.php y cargar cualquier URL de medios en caché, debería imprimir prueba. De lo contrario, algo anda mal en la configuración de su servidor.

Para mí, cada vez que eliminé el directorio de caché del catálogo (rm -rf pub / media / catalog / product / cache / *) después de eso, cuando cargamos la página, no generará una nueva imagen en caché y va a 404 páginas no encontradas y ademas nunca llega get.php. Luego noté que muchas de las carpetas tenían permisos incorrectos diferentes de 755 para carpetas y 644 para archivos. Después de establecer el permiso correcto, funciona bien.

Espero que dé alguna idea.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *