Symfony2,如何改变环境?

PMo*_*bed 10 php symfony

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

php app/console cache:clear --env=prod--env,改变环境或只是清理该环境缓存?

如果只清除该环境的缓存,则该行在app.php中意味着什么:

$kernel = new AppKernel('prod', false); 
Run Code Online (Sandbox Code Playgroud)

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

$kernel = new AppKernel('prod', true);
Run Code Online (Sandbox Code Playgroud)

我在正确的位置吗?

Pet*_*ley 19

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

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

$kernel = new AppKernel('dev', true); 
Run Code Online (Sandbox Code Playgroud)

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

那清楚了吗?


Ahm*_*ani 7

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

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

您还可以使用特定配置创建新环境