Réponse le 20 novembre 2019:
Régénérer le cache d'image par commande n'est pas une solution réalisable pour tous car cela prendra beaucoup de temps pour certains sites Web qui ont beaucoup de produits. De plus, j'ai rencontré des problèmes comme Si nous générons une image de cache à partir de CLI, cela fonctionnera. Lorsque nous vidons les images de l'administrateur ou supprimons manuellement l'image mise en cache à ce moment-là, cela ne génère pas à nouveau une image de cache lors du chargement de la page, j'ai donc besoin d'exécuter la commande régénérer encore et encore. Selon mon point de vue, la meilleure solution est de générer un cache d'image au chargement de la page.
Flux par défaut
Le flux Magento par défaut est chaque fois qu'il charge une image (média), il passera toujours par la demande à pub / get.php et vérifiera si l'image existe ou non. S'il n'existe pas, il générera une nouvelle image en cache. S'il existe, il retournera ce chemin. Donc, par défaut, l'image devrait générer au chargement de la page.
Nous pouvons vérifier cette logique de transmission dans les fichiers ci-dessous
pub/media/.htaccess
pour le serveur apache
RewriteRule .* ../get.php [L]
.............................
.............................
nginx.conf.sample
pour le serveur nginx
location /media/ {
try_files $uri $uri/ /get.php$is_args$args;
.......................................
.......................................
Comment vérifier que cette logique fonctionne ou non?
Mettez echo "test";exit;
au début de pub / get.php et chargez n'importe quelle URL de média en cache, il devrait imprimer le test. Sinon, quelque chose ne va pas dans la configuration de votre serveur.
Pour moi, chaque fois que j'ai supprimé le répertoire de cache du catalogue (rm -rf pub / media / catalogue / product / cache / *) après cela, lorsque nous chargeons la page, il ne générera pas une nouvelle image en cache et il ira à la page 404 non trouvée et il n'atteint jamais non plus get.php . J'ai ensuite remarqué que de nombreux dossiers avaient des autorisations incorrectes différentes de 755 pour les dossiers et 644 pour les fichiers. Après avoir défini la bonne autorisation, cela fonctionne bien.
J'espère que ça donne une idée.