Компіляція Magento2 DI займає занадто багато часу


9

Після створення / оновлення нового модуля / теми я використовую наступну команду в кореневій каталозі установки Magento

php bin/magento setup:upgrade

Що просить мене запустити компіляцію, тому я використовую

 php bin/magento setup:di:compile

що займає близько 8 хвилин часу для його складання. Чи є спосіб закріпити процес компіляції?


1
Я повідомив про це на GitHub 3 тижні тому: # 2893 .
Mage2.PRO

Відповіді:


10

Перш за все, компілювати потрібно лише у виробничому режимі. Якщо ви розвиваєтеся, вам не потрібно запускати компіляцію

Важко вдосконалити компіляцію, тому що в цьому процесі будують дерево всіх класів у системі. Наприклад, зміна параметра "di.xml" може вплинути на половину класів.

У режимі розробника, якщо ви змінюєте / створюєте конструктор, вам потрібно видалити створений / код / ​​папку, щоб видалити автоматично створений код та кеш очищення


Отже, я повинен ігнорувати це повідомлення в режимі розробника?
amitshree

Так, слід ігнорувати
Кенді

4
Крім того, як тільки ви запустили компіляцію один раз, у / var / di з'являться файли * .ser, і ви повинні їх видалити, інакше вони все ще використовуються.
Фабіан Шменглер

1
навіть в режимі розробника, якщо створити конструктор або змінити будь-який з них, все одно потрібно запустити setup: di: compile. можливо, це зараз потрібно в останній версії magento.
Doni Wibowo

1
DoniWibowo @ Suman-PHP4U Я оновив відповідь про зміни коду
KAndy,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.