Symfony 多环境配置

Symfony 可以配置多个多个环境,根据不同环境加载不同的环境变量和 Service,Symfony 默认自带的环境是,local,dev,prod 和 test。

环境变量

symfony 使用 .env 文件来定义配置环境变量,在非正式环境中,.env 文件是始终加载的,然后与特定环境的 .env.{enviroment} 文件合并。在生产环境中,应该使用命令:

composer dump-env prod

来生成环境变量文件。

组件配置

不通组件,尤其是系统组件需要根据不同的环境和参数来实例化,例如日志,缓存等,这些配置参数放在 config/packages 下面,在 packages 下面根据不同环境新建目录,例如 dev 环境为: config/packages/dev ,将所有指定环境的参数放到该目录下。

services 定义

在文件 config/services.yml 可以自定义依赖注入组件,这些 services 也可以分环境来自定义,不通环境可以使用格式:services_{enviroment}.yml 来区分,跟上面不太一样,这里使用下划线来区分。