С Symfony 2.8 вы можете объявить некоторые внешние параметры с вашего сервера:
С Apache, с директивой SetEnv :
<VirtualHost *:80>
...
SetEnv SYMFONY__DATABASE__USER user
SetEnv SYMFONY__DATABASE__PASSWORD secret
SetEnv SYMFONY__SOME_ID 1234
...
</VirtualHost>
С Nginx, с fastcgi_param директива:
server {
...
location ~ ^/app\.php(/|$) {
...
fastcgi_param SYMFONY__DATABASE__USER user;
fastcgi_param SYMFONY__DATABASE__PASSWORD secret;
fastcgi_param SYMFONY__SOME_ID 1234
...
}
}
Эти переменные среды будут переданы в контейнер с некоторыми преобразованиями:
SYMFONY__
префикс удален
- Имя параметра в нижнем регистре
- Двойные подчеркивания
__
заменяются точкой.
Так что вы можете использовать их как:
doctrine:
dbal:
driver: pdo_mysql
dbname: symfony_project
user: '%database.user%'
password: '%database.password%'
some_config:
id: '%some_id%'
Вы также можете передать некоторые константы PHP:
parameters:
some_id: "@=constant('SOME_ID')"
my_class.some_id: "@=constant('My_Class::SOME_ID')"
Надеюсь, это поможет!