WebP von Frosh: allowed memory size exhausted

Hallo, ich versuche gerade WebP-Unterstützung in meiner Shopware 5.5.10 einzurichten mit dem Frosh WebP Plugin. Gehe genau nach Anleitung vor, erhalte aber dann beim Versuch die WebP via Console zu generieren immer bei 27% Fortschritt diesen Fehler:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 18034103 bytes) in /MY_SW_INSTALL_PATH/custom/plugins/FroshWebP/Services/WebpEncoders/PhpGd.php on line 23

Gehosted wird bei all-inkl.com auf einem Managed Server.

Was kann ich tun?

Versuch mal bei der Ausführung das memory limit zu erhöhen 

Das mache ich, indem ich dem Frosh CLI Kommado in der Shell “-d memory_limit=512M” voranstelle, oder? Das hatte ich schon probiert, hat aber nicht gegriffen. Wieder bei 128MB (134217728 Bytes) abgebrochen. Oder wie müsste das SSH Kommando aussehen um das Memory Limit zu erhöhen?

https://www.google.com/search?q=php+memory+limit+erh%C3%B6hen&rlz=1C1CHBF_deDE842DE842&oq=php+memory&aqs=chrome.2.69i57j0l5.4724j0j7&sourceid=chrome&ie=UTF-8

Googlen kann ich auch, danke. Bringt nur nix. Oder wo steht da die Lösung zu meinem Problem?

In der phpinfo stehen bei memory_limit 256MB als local value und 512MB als master value. Frage ich jedoch via SSH mit “php -i | grep memory” das limit ab, zeigt’s mir 128MB an.

Versuche ich im Consolen-Aufruf der Funktion das Limit zu erhöhen (“php -d memory_limit:256M MY_PATH/bin/console frosh:webp:generate”) ändert sich nix, die Aktion läuft trotzdem bei 128M in den oben genannten Fehler.

Der Google Link bringt mich da in keinster Weise weiter leider.

Hallo dewib,

das ist jetzt mein erster Post und freue mich, dass ich hier mit einem Beitrag und nicht gleich mit einer Frage starte.

Ich hab das gleiche Plug-In versucht, bin auch bei all-inkl und stand vor dem gleichen Problem.
Nun hier meine Umsetzung aus meinen Notizen.

Bei Memoryfehler:
php -d memory_limit=512M bin/console sw:thumbnail:generate
bzw. Vom Unterverzeichnis
php -d memory_limit=512M ./bin/console sw:thumbnail:generate

Dann noch die webp erstellen gemäß plugin-Anleitung:

./bin/console frosh:webp:generate

Bzw bei memoryfehler:
php -d memory_limit=512M ./bin/console frosh:webp:generate

Resultat bei mir war dann tatsächlich die Ausgabe von webp Dateien.
Leider bei mir keine finale zufriedene Lösung, denn

a) Es funktionierte nicht gründlich. Es werden nur ein Bruchteil der Bilder in webp ausgegeben. Ein erneuter Aufruf zum Generieren antwortet nur mit einer Statusmeldung.
b) Durch einen Relaunch hab ich noch Bilder in einem anderen Verzeichnis /images.  Dort liegen all die Bilder, die z.B. in Produktbeschreibungen eingebunden sind.
da obiger Befehl wohl nur die Bilder im /media Ordner bearbeitet, war das hier noch nicht die finale Lösung.
c) Mir ist auch nicht klar, wie ich bei diesem Plug-In vorgehen müsste, wenn neue Bilder hinzukommen, da ich nicht neu generieren kann.

Hat jemand ähnliche Erfahrungen gemacht. (jetzt doch Fragen von mir). Wer hat Erfahrung mit dem hoster all-inkl diesbezüglich (ggf. auch mit dem anderen Plugin von Webcustoms? Dieses benötigt die Installation Linux-Paketes libwebp-dev. Das wollte mir aber all-inkl.com nicht installieren, da ein DEVelopment Paket)
 
Ich versuch mit gerade mit einer Lösung ganz ohne Plugin, nämlich mit .htaccess. Funktioniert schon mal für diie Bilder im Ordner /images.  Leider auch mit Nachteilen.

Freue mich auch weiteren Erfahrungsaustausch.

beste Grüße, Tom

 

Hallo Tom,

wir haben das Vorhaben erstmal wieder aufgegeben, obwohl wir die WebP Erstellung letztlich auch durchgebracht haben. Bleiben gelassen haben wir es dann aus anderen Gründen:

  1. weil das WebP Plugin nicht mit dem Lazy Loading Plugin von isento kompatibel ist. Es scheint zwar einen Workaround zu geben (hier beschrieben: https://github.com/FriendsOfShopware/FroshWebP/pull/16 ). Ich habe Isento gefragt wieso sie das nicht so in ihrem Plugin umsetzen, und die Antwort war dass auch das nicht zuverlässig funktionierte. Ich wollte es nicht selbst ausprobieren, dafür fehlt mir Zeit und Muse.

  2. weil das WebP Plugin aus transparenten PNG nicht-transparente WebP mit schwarzem Hintergrund generiert, was für uns ein absolutes KO-Kriterium ist. Wir brauchen die Transparenzen für unsere Shopdarstellung. Haben das auf Github thematisiert, aber bisher gibt’s kein Feedback geschweige denn eine Lösung: https://github.com/FriendsOfShopware/FroshWebP/issues/55