Die Magento2 DI-Kompilierung nimmt zu viel Zeit in Anspruch


9

Nach dem Erstellen / Aktualisieren eines neuen Moduls / Themas verwende ich den folgenden Befehl im Magento-Installationsverzeichnis

php bin/magento setup:upgrade

Was mich auffordert, die Kompilierung auszuführen, also benutze ich

 php bin/magento setup:di:compile

Das Kompilieren dauert ungefähr 8 Minuten. Gibt es eine Möglichkeit, den Kompilierungsprozess zu beschleunigen?


1
Ich habe es vor 3 Wochen auf GitHub gemeldet: # 2893 .
Mage2.PRO

Antworten:


10

Zunächst muss die Kompilierung nur im Produktionsmodus erfolgen. Wenn Sie entwickeln, müssen Sie die Kompilierung nicht ausführen

Es ist schwierig, die Kompilierung zu verbessern, da in diesem Prozess ein Baum aller Klassen im System erstellt wird. Beispielsweise kann eine Änderung in 'di.xml' die Hälfte der Klassen betreffen.

Wenn Sie im Entwicklermodus den Konstruktor ändern / erstellen, müssen Sie den generierten / code / -Ordner noch löschen, um automatisch generierten Code zu entfernen und den Cache zu bereinigen


Also sollte ich diese Meldung im Entwicklermodus ignorieren?
Amitshree

Ja, Sie sollten ignorieren
KAndy

4
Sobald Sie die Kompilierung einmal ausgeführt haben, befinden sich * .ser-Dateien in / var / di, und Sie sollten sie löschen, da sie sonst weiterhin verwendet werden.
Fabian Schmengler

1
Selbst im Entwicklermodus müssen Sie setup: di: compile ausführen, wenn Sie einen Konstruktor erstellen oder einen davon ändern möchten. Vielleicht ist dies jetzt in der neuesten Magento-Version erforderlich.
Doni Wibowo

1
DoniWibowo @ Suman-PHP4U Ich habe die Antwort über die Codeänderungen aktualisiert
KAndy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.