我刚开始使用 Symfony 2 进行编码。在我的本地机器上,我使用 app/console 设置数据库:数据库:创建和教条:架构:创建,效果很好。
我遇到的问题是,本地我在 parameters.yml 中定义的参数与在我的生产环境中定义的参数不同。我如何定义 dev 和 prod 的参数?我已经尝试创建一个 parameters_dev.yml 但这不起作用。
我是否应该在我的产品服务器上创建一个 paramters.yml 并在部署后复制它,这样我就没有我的数据库密码在版本控制中?
我刚开始使用 Symfony 2 进行编码。在我的本地机器上,我使用 app/console 设置数据库:数据库:创建和教条:架构:创建,效果很好。
我遇到的问题是,本地我在 parameters.yml 中定义的参数与在我的生产环境中定义的参数不同。我如何定义 dev 和 prod 的参数?我已经尝试创建一个 parameters_dev.yml 但这不起作用。
我是否应该在我的产品服务器上创建一个 paramters.yml 并在部署后复制它,这样我就没有我的数据库密码在版本控制中?
parameters.yml 不应由版本控制处理。您必须在 .gitignore 中将其设置为忽略。只有 parameters.yml.dist 必须进行版本控制
此外,如果您使用 symfony 2.3 并在 prod 上使用 composer 安装供应商,您将被提示输入 parameters.yml.dist 中的所有设置,因此将自动生成 parameters.yml
在 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 的第一行。