Вопрос по symfony, php – Symfony2, как изменить среду?

10

Я много читал о команде clear cache для symfony2, но у меня есть такой вопрос:

Являетсяphp app/console cache:clear --env=prod с--env, меняет среду или просто очищает кеш для этой среды?

Если очистить только кеш для этой среды, что означает эта строка в app.php:

$kernel = new AppKernel('prod', false); 

Я думаю, что когда я хочу использовать производственную среду Symfony2, мне нужно изменить эту строку на

$kernel = new AppKernel('prod', true);

Я в правильном месте?

Ваш Ответ

2   ответа
19

Symfony \ Component \ HttpKernel \ Kernel являются$environment а также$debug.

Итак, чтобы ответить на ваш вопрос напрямую,app.php уже использует производственную среду. Вы заметите, чтоapp_dev.php создает ядро, как это

$kernel = new AppKernel('dev', true); 

Таким образом, имя среды, которое вы передаете конструктору ядра, соответствует имени среды, которое вы используете в консольных командах (то есть--env).

Это проясняет это для вас?

Я имел в виду, если я хочу использовать производственную среду с точки зрения пользователей (в браузере), я должен к нам$kernel = new AppKernel('prod', true);, право? Clear Cache не изменит среду! Правильный? PMoubed
Я думаю, что второй аргумент (логическое значение) относится к тому, должна ли среда запускаться с включенной или отключенной отладкой
Нет, среда определяется используемым фронтальным контроллером, которыйapp.php по умолчанию. Я имею в виду, чтоsite.com/route аналогичноsite.come/app.php/route гдеapp.php используется ли передний контроллер Если вы хотите переключиться на фронт-контроллер dev, ваш URL будет выглядеть такsite.com/app_dev.php/route, Есть смысл?symfony.com/doc/current/book/…
7

вы должны изменить свой фронт-контроллер. Symfony2 предоставляет по умолчанию три среды и фронт-контроллер для каждой из них с определенными файлами конфигурации & gt;Узнать больше

Когда вы выполняете команду cache: clear для конкретной среды, она просто очищает кеш для данной среды. Чтобы изменить свою среду, вы просто меняете свой фронт-контроллер (app.php / app_dev.php / app_test.php)

Вы также можетесоздавать новые среды с определенной конфигурацией

Похожие вопросы