我刚刚开始使用Symfony 2进行编码。在我的本地计算机上,我使用app / console doctrine设置数据库:database:create和doctrine:schema:create for great。
我遇到的问题是,本地我在parameters.yml中定义的参数不同于我的生产环境。我怎样才能为dev和prod定义参数?我已经尝试创建一个parameters_dev.yml,但这不起作用。
我应该在我的prod服务器上创建一个paramters.yml并在部署后复制它,所以我在版本控制中没有我的DB密码?
答案 0 :(得分:4)
parameters.yml不应由版本控制处理。 你必须在.gitignore中将其设置为忽略。 只有参数.yml.dist必须被版本化
如果您使用symfony 2.3并在prod上使用composer安装供应商,则会提示您输入来自parameters.yml.dist的所有设置,以便自动生成parameters.yml
答案 1 :(得分:2)
在Symfony 2.7中,我不得不将其添加到appKernel.php:
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/parameters_'.$this->getEnvironment().'.yml');
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
然后创建parameters_dev.yml
和parameters_prod.yml
。
不要忘记添加:
imports:
- { resource: parameters.yml }
在每个新ymls的第一行。