作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Symfony 在 /app/config/parameters.ini
中保存配置参数。
我想根据主机名使用不同的参数集。最初,主机名将确定要使用的数据库,但很可能会扩展以涵盖更多内容。
我希望将每个主机的参数存储在单独的文件中,以便于以编程方式生成。
从概念上讲,我想存储这样的配置参数:
/app/config/parameters.ini
/app/config/foo.example.com.parameters.ini
/app/config/bar.example.com.parameters.ini
我看到 /app/config/parameters.ini
在 \Sensio\Bundle\DistributionBundle\Controller\ConfigurationController
中引用,并且修改此文件应该可以工作。
这是最好的方法吗?有没有更直接的方法,不需要修补核心框架?
最佳答案
我会考虑使用一个 ini 文件的不同部分的不同环境。您可以拥有一个使用以 prod1 为前缀的参数的 prod1 环境,以及一个具有相同前缀的 prod2:
参数.ini:
[parameters]
prod1_database_driver = pdo_mysql
prod1_database_host = 127.0.0.1
# ...
prod2_database_driver = pdo_mysql
prod2_database_host = localhost
它们都使用 prod.yml 配置,但会覆盖您想要从parameters.ini 中读取的内容:
config_prod1.yml:
imports:
- { resource: config_prod.yml }
// .. overwrite stuff here
通过这种方式,您还可以解决缓存问题,就像每个环境都有缓存一样。
要将两者分开,可以像在开发环境中一样创建并使用 app_prod1.php 和 app_prod2.php,或者根据 app.yml 中的主机更改环境。
关于Symfony2 : How can I use different parameters(. ini) 每个主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9516301/
我是一名优秀的程序员,十分优秀!