Я много читал о команде clear cache для symfony2, но у меня есть этот вопрос:
Является ли php app/console cache:clear --env=prod
с --env
, изменяет среду или просто очищает кеш для этой среды?
Если только очистить кеш для этой среды, то что означает эта линия в app.php:
$kernel = new AppKernel('prod', false);
Я думаю, что когда я хочу использовать производственную среду Symfony2, мне нужно изменить эту строку на
$kernel = new AppKernel('prod', true);
Я в нужном месте?
Два аргумента конструктора для Symfony \ Component \ HttpKernel \ Kernel – это $environment
и $debug
.
Итак, чтобы ответить на ваш вопрос напрямую, app.php уже использует производственную среду. Вы заметите, что app_dev.php создает экземпляр ядра таким образом
$kernel = new AppKernel('dev', true);
Таким образом, имя среды, которое вы передаете конструктору ядра, сопоставляется с именем среды, которое вы используете в консольных командах (например, --env
).
Это ясно для вас?
Чтобы изменить среду, вы должны изменить передний контроллер. Symfony2 предоставляет по умолчанию три среды и фронт-контроллер для каждого из них с определенными конфигурационными файлами> Подробнее
Когда вы выполняете команду cache: clear для конкретной среды, она просто очищает кеш для данной среды. Чтобы изменить среду, вы должны просто изменить свой фронт-контроллер (app.php / app_dev.php / app_test.php)
Вы также можете создавать новые среды с определенной конфигурацией