10

我已经阅读了很多关于 symfony2 的 clear cache 命令的信息,但我有这个问题:

php app/console cache:clear --env=prod使用--env,更改环境还是仅清理该环境的缓存?

如果只清除该环境的缓存,那么 app.php 中的这一行是什么意思:

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

我想当我想使用 Symfony2 生产环境时,我必须将该行更改为

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

我在正确的位置吗?

4

2 回答 2

19

Symfony\Component\HttpKernel\Kernel的两个构造函数参数是$environment$debug

因此,为了直接回答您的问题,app.php已经使用了生产环境。你会注意到app_dev.php像这样实例化内核

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

因此,您传递给内核构造函数的环境名称映射到您将在控制台命令中使用的环境名称(即--env)。

这对你来说清楚吗?

于 2012-06-05T21:22:54.743 回答
7

要改变环境,你必须改变你的前端控制器。Symfony2 默认提供三个环境和一个前端控制器,每个环境都有一个特定的配置文件 >查看更多

当您为特定环境执行 cache:clear 命令时,它只会清除给定环境的缓存。要改变你的环境,你只需要改变你的前端控制器(app.php / app_dev.php / app_test.php)

您还可以创建具有特定配置的新环境

于 2012-06-05T23:04:05.773 回答