Thumbnails und Referenz komplett löschen, um die richtigen Größen zu erzeugen

Hi! Ich versuche alle Thumbnails neu zu generieren. Zunächst habe ich im Backend bei Medien allen Ordnern die richtigen Einstellungen gegeben - also zB:
Thumbnails sollen in 3 Größen generiert werden - 600x600 | 1280x1280 | 1980x1980
Nun habe ich über die Konsole versucht die Thumbnails neu zu generieren -
bin/console media:generate-thumbnails
vorher hatte ich den Ordner /thumbnails gelöscht bzw. umbenannt. Ich glaube, dass ich hier tendenziell auf dem richtig weg bin - leider bricht der Prozess ab - 8 Files seien wohl nicht korrekt -

Generated 214
Skipped 5290
Errors 8

wie kann ich diese Files finden? Bzw. löschen?
Die Meldung sieht in etwas so aus:

Cannot process file img_8790k4qaojjivb7b3 (id: 1ae4ad8cd8df4e319c5f348c77776f73) due error: The File for media object with id: 1ae4ad8cd8df4e319c5f348c77776f73 is not supported for creating thumbnails.

Aber ein File mit dem Namen finde ich nicht… Kann wer helfen?

ich habe nun mal media_thumbnails geleert und starte den Prozess nochmal bisher hat er schon 350 Thumbnails generiert - evtl. wars das was fehlte…
EDIT: Nope - Fehler besteht weiterhin…
EDIT 2: angeblich ist es ja ein Bug, der behoben wurde - aber ich setze eine recht neue Shopware Version ein - 6.4.10 - und damit tritt der Fehler auch auf
Edit 3: Jetzt habe ich alle Dateien von Hand gesucht und sowohl im Media Ordner als auch die Referenz dazu in der Datenbank gelöscht - hoffentlich klappts jetzt - was für ein nerv…
womöglich lag es an falschen Mimetypes - zB tiff…
Edit 4: Nun gibts zwar keinen Error mehr, aber trotzdem wurden einige Bilder geskipped und ich hab immer noch einige Thumbnails, die nicht den Einstellungen enstprechen:

Generated 3950
Skipped 1554
Errors 0

Was kann ich noch versuchen?

Wahrscheinlich bin ich einfach zu blöd, um mit dem wahrscheinlich guten Handbuch von Shopware umzugehen und wahrscheinlich hab ich die viel einfachere Lösung einfach nicht gefunden, aber für alle, denen es genau so geht möchte ich einmal kurz zusammenfassen, wie man es schafft, wirklich alle Thumbnails neu zu generieren. Dies kann ja durchaus nötig werden, wenn zB die Größen geändert werden müssen.

  1. Im Shopware Backend ALLE Medien-Ordner anschauen und die Thumbnail Einstellungen setzen. Unterordner haben eigene Einstellungen, die NICHT standardmäßig überschrieben werden.
  2. In der Datenbank den Ordner media_thumbnail leeren
  3. Auf dem Webserver den Ordner /public/thumbnail löschen
  4. Per SSH folgenden Befehl ausführen: „bin/console media:generate-thumbnails -v“
  5. Warten

Falls es wie in meinem Fall zu „Cannot process file…“ Errors kommt muss man die Files vom Server löschen und die Referenz aus der Datenbank entfernen und dann wieder bei 2. nochmal neu anfangen. In meinem Fall waren das .tiff Bilder

2 „Gefällt mir“

Danke dass du deine Lösung geteilt hast. Ich habe das gleiche Problem, kann die entsprechende Datei aber nicht über die Suche finden. Wie hast du die Fehlerhaften Bild Dateien ausfindig gemacht?

Ich habe eine kleine Ergänzung für euch.
Bei mir funktionierte der Befehl „bin/console media:generate-thumbnails -v“ nicht, da das Memory_limit des Server überschritten wurde. Dadurch wurde der Vorgang abgebrochen.
Folgender Befehl half mir schließlich weiter:
[xxx@aixssd306 httpdocs]$ /opt/plesk/php/8.0/bin/php bin/console media:generate-thumbnails --batch-size 10 --async.

Ein paar Details zu dem Befehl:

  1. [xxx@aixssd httpdocs]$ - Dies ist der Shell-Prompt und zeigt den Benutzernamen (xxx), den Hostnamen (aixssd) und das aktuelle Verzeichnis (httpdocs) an. Das Dollarzeichen ($) am Ende ist der Standard-Prompt für Unix-basierte Systeme.
  2. /opt/plesk/php/8.0/bin/php - Dieser Pfad gibt an, wo die PHP-Executable auf dem Server liegt. In diesem Fall wird die PHP-Version 8.0 verwendet, die sich im Verzeichnis /opt/plesk/php/8.0/bin/ befindet.
  3. bin/console - Das ist der Pfad zur Console-Anwendung, die in vielen Webprojekten verwendet wird, um Befehle auszuführen.
  4. media:generate-thumbnails - Dieser Befehl ist dafür zuständig, die Vorschaubilder für Mediendateien zu generieren.
  5. –batch-size 10 - Diese Option gibt die Anzahl der Mediendateien an, die in einer Charge (Batch) verarbeitet werden. In diesem Fall werden 10 Mediendateien pro Charge verarbeitet.
  6. –async - Diese Option ermöglicht die asynchrone Verarbeitung der Batches. Dadurch wird die Verarbeitung der Vorschaubilder im Hintergrund ausgeführt, sodass der Benutzer nicht auf die Fertigstellung jeder Charge warten muss. Dies kann insbesondere bei einer großen Anzahl von Mediendateien hilfreich sein, um die Gesamtverarbeitungszeit zu verkürzen und mögliche Speicherprobleme zu vermeiden.

Zusammengefasst ermöglicht dieser Befehl die Generierung von Thumbnails für Mediendateien in Chargen (batches) zu je 10 Dateien, wobei die Verarbeitung asynchron erfolgt, um Speicherprobleme zu vermeiden.

Viel Spaß noch!

1 „Gefällt mir“

Danke für ausführlichen Erklärungen.

Was ich an der Vorgehensweise aber nicht ganz verstehe:

" * In der Datenbank den Ordner media_thumbnail leeren

  • Auf dem Webserver den Ordner /public/thumbnail löschen
    *"

Dadurch sind ja alle bisher erstellen Thumbnails nicht mehr erreichbar. d.h. auch alle von Google indexierten Bilder (Google Bildersuche) führen dann zu einem Fehler (Not found) beim Aufruf durch den Nutzer.

Wie kann die Neugenerierung von Thumbnails bzw. auch der Austausch von Bildern (z.B. durch bessere Auflösung) Suchmaschinenfreundlich durchgeführt werden?

Oder kümmert sich Google nicht um Thumbnails?