1

我刚开始使用 Symfony 2 进行编码。在我的本地机器上,我使用 app/console 设置数据库:数据库:创建和教条:架构:创建,效果很好。

我遇到的问题是,本地我在 parameters.yml 中定义的参数与在我的生产环境中定义的参数不同。我如何定义 dev 和 prod 的参数?我已经尝试创建一个 parameters_dev.yml 但这不起作用。

我是否应该在我的产品服务器上创建一个 paramters.yml 并在部署后复制它,这样我就没有我的数据库密码在版本控制中?

4

2 回答 2

4

parameters.yml 不应由版本控制处理。您必须在 .gitignore 中将其设置为忽略。只有 parameters.yml.dist 必须进行版本控制

此外,如果您使用 symfony 2.3 并在 prod 上使用 composer 安装供应商,您将被提示输入 parameters.yml.dist 中的所有设置,因此将自动生成 parameters.yml

于 2013-08-14T19:21:54.830 回答
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.ymlparameters_prod.yml

不要忘记添加这个:

imports:
 - { resource: parameters.yml }

在每个新 ymls 的第一行。

于 2016-04-14T17:24:31.330 回答