Ich führe einen Migrationsprozess von Magento 1.9.2.4 nach Magento 2.1.6 durch. Nach Abschluss der Migration verschiebe ich den Medienordner von M1 nach pub / media M2.
Jetzt ist das Problem, dass einige der Bilder nicht im Katalog- / Cache-Ordner generiert werden
Zum Beispiel werden untenstehende Bilder zu 404 nicht gefunden
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
Ich mochte einfach den Katalog-Cache-Ordner löschen und die Seite erneut laden, aber es geht immer noch um ein kaputtes Bild.
Meine Seite enthält 50% fehlerhafte Bilder
kann die Problemumgehung zur Behebung dieses Problems freigeben?
magento2
product-images
image
migration
magento2-migration-tool
Bilal Usean
quelle
quelle
Antworten:
Sie sollten versuchen, mit dem Befehl image resize alle erforderlichen Größenänderungen vorab zu generieren.
php bin/magento catalog:image:resize
Mit diesem Befehl werden alle im XML-Design definierten Bildgrößen abgerufen und die Bilder in den richtigen Ordnern vorgeneriert.
Weitere Informationen finden Sie in der Befehlsdokumentation unter http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/theme-images.html
quelle
Ich hatte auch dieses Problem und selbst die oben erwähnte Erzeugung von Befehlszeilenabbildern funktionierte nicht. Es sieht so aus, als würde Magento die Informationen zwischenspeichern, die für die Erstellung der Miniaturansichten benötigt werden, und selbst die standardmäßige Magento-Cache-Bereinigung (sowohl in der Befehlszeile als auch im Admin-Bereich) entfernt diese Informationen nicht aus dem Cache.
Ich habe den Inhalt aller Cache-Verzeichnisse manuell entfernt und es hat geholfen:
.. und so weiter. Dann sollten die Miniaturansichten der Bilder "on demand" beim Browsen auf der Website korrekt erstellt werden.
quelle
Ich hatte genau das gleiche Problem, aber mit Magento 2.3.2
Für mich waren es Miniaturbilder des Produkts, die den falschen Cache-Hash-Pfad hatten. Produkt- und Kategoriebilder waren korrekt, aber die Thumbs-URL war falsch und zeigte den standardmäßigen Magento-Bildplatzhalter.
Ich habe ein benutzerdefiniertes Thema verwendet.
Bei der Verwendung von SHH "PHP bin / Magento Katalog: Bilder: Größe ändern" - was war passiert? Die Bilder wurden unter Verwendung des Luma-Themas etc / view.xml anstelle der benutzerdefinierten Datei etc / view.xml generiert.
Das Problem. Beim Anzeigen meines benutzerdefinierten Designs im Browser, der Bilder in einer anderen Größe als das Luma-Design verwendet, konnte Magento die Bilder nicht finden und zeigt den Fehler 404 an.
Die Reparatur.
Ich habe eine Woche gebraucht, um herauszufinden, wie das behoben werden kann, aber jetzt funktioniert alles einwandfrei.
quelle
Sehen Sie sich Ihre Konfiguration in dem von Ihnen verwendeten Design an und stellen Sie sicher, dass die Konfiguration in Ihrem Quellspeicher mit der in Ihrem Ziel übereinstimmt. Sie können darauf verweisen: https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-images.html
Dann renne:
PHP bin / Magento-Katalog: Bilder: Größe ändern
Lassen Sie mich wissen, ob das hilft!
quelle
Antwort am 20. November 2019:
Das Regenerieren des Bild-Cache per Befehl ist keine praktikable Lösung für alle, da einige Websites mit vielen Produkten viel Zeit in Anspruch nehmen. Außerdem hatte ich einige Probleme wie: Wenn wir ein Cache-Image aus der CLI generieren, funktioniert es. Wenn wir zu diesem Zeitpunkt Bilder aus dem Admin-Bereich geleert oder das zwischengespeicherte Bild manuell gelöscht haben, wird beim Laden der Seite kein neues Cache-Bild generiert. Aus meiner Sicht besteht die beste Lösung darin, beim Laden der Seite einen Bild-Cache zu generieren.
Standardfluss
Der Standard-Magento-Flow wird beim Laden von Images (Medien) immer an pub / get.php weitergeleitet und überprüft, ob das Image vorhanden ist oder nicht. Wenn es nicht vorhanden ist, wird ein neues zwischengespeichertes Bild generiert. Wenn es existiert, gibt es diesen Pfad zurück. Das Image sollte also standardmäßig beim Laden der Seite generiert werden.
Wir können diese Pass-Through-Logik in den folgenden Dateien überprüfen
pub/media/.htaccess
für Apache Servernginx.conf.sample
für Nginx ServerWie überprüfe ich, ob diese Logik funktioniert oder nicht?
Setzen Sie
echo "test";exit;
in dem Start von pub / get.php und lud alle zwischengespeicherten Medien URL, sollte es drucken Test. Ansonsten stimmt etwas in Ihrer Serverkonfiguration nicht.Wenn ich das Katalog-Cache-Verzeichnis (rm -rf pub / media / catalog / product / cache / *) danach lösche, wird beim Laden der Seite kein neues zwischengespeichertes Bild generiert und es wird keine 404-Seite gefunden und auch wird es nie get.php erreichen . Ich bemerkte dann, dass viele der Ordner falsche Berechtigungen hatten, die sich von 755 für Ordner und 644 für Dateien unterschieden. Nachdem ich die richtige Berechtigung festgelegt habe, funktioniert es einwandfrei.
Ich hoffe es gibt eine Idee.
quelle