我已经阅读了很多关于symfony2的clear cache命令,但我有这个问题:
php app/console cache:clear --env=prod
是--env
,更改环境还是只清理该环境的缓存?
如果只清除该环境的缓存,则该行在app.php中意味着什么:
$kernel = new AppKernel('prod', false);
我想当我想使用Symfony2生产环境时,我必须将该行更改为
$kernel = new AppKernel('prod', true);
我在正确的位置吗?
答案 0 :(得分:19)
Symfony\Component\HttpKernel\Kernel的两个构造函数参数是$environment
和$debug
。
因此,要直接回答您的问题, app.php 已经使用了生产环境。您会注意到 app_dev.php 像这样实例化内核
$kernel = new AppKernel('dev', true);
因此,传递给内核构造函数的环境名称映射到您在控制台命令中使用的环境名称(即--env
)。
那能为你清楚吗?
答案 1 :(得分:7)
要更改环境,您需要更改前端控制器。 Symfony2默认提供三个环境和一个前端控制器,每个环境具有一个特定的配置文件> See more
当您为特定环境执行cache:clear命令时,它只会清除给定环境的缓存。要改变你的环境,你只需更改你的前端控制器(app.php / app_dev.php / app_test.php)