Команда компиляции, не выполняемая в промежуточной среде


Когда я запускаю команду $ php bin/magento setup:di:compile на локальном компьютере, она сразу же перекомпилирует зависимости. Когда я делаю то же самое на промежуточном сервере, на нем отображается сообщение:

DI configuration must be cleared before running compiler. Please delete '/var/www/html/staging/var/di'.

Конечно, когда я удаляю var/di, это работает. Но мой вопрос в том, почему при локальном запуске не требуется удалять этот каталог?

Локальный запуск MAMP с php7.0.0.
Промежуточный запуск centos7 с php7.0.7, php-fpm и SELinux.

Какая разница между этими двумя средами может привести к другому поведению команды?

Author: Vasily802, 2016-06-22

2 answers

/var/di используется только в производственном режиме. Если он существует, его необходимо удалить, прежде чем вы сможете запустить bin/magento setup:di:compile. Я предполагаю, что ваш локальный сайт находится в режиме разработчика и, следовательно, не имеет этой папки.

 2
Author: Kristof at Fooman, 2016-06-23 17:55:44

Вы должны удалить каталог, а не только файлы внутри var/di. Мне потребовалось некоторое время, чтобы понять это:-)

 1
Author: schasiepen, 2016-06-23 08:47:44