Configurando a variável de ambiente para Symfony Nginx / PHP-FPM

A documentação do Symfony fornece uma configuração básica disponível aqui:
http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html#nginx

Configuração Nginx

Abaixo está a configuração do bloco do servidor retirada da documentação do Symfony, que é apenas uma adição para passar algumas variáveis ​​de ambiente para o aplicativo Symfony:

server {
server_name domain
.tld www.domain.tld;
root
/var/www/project/web;

location
/ {
# try to serve file directly, fallback to rewrite
try_files $uri
@rewriteapp;
}

location
@rewriteapp {
# rewrite all to app.php
rewrite
^(.*)$ /app.php/$1 last;
}

location
~ ^/(app|app_dev|config).php(/|$) {
fastcgi_pass unix
:/var/run/php5-fpm.sock;
fastcgi_split_path_info
^(.+.php)(/.*)$;
include fastcgi_params
;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
;
fastcgi_param HTTPS off
;

# now the interesting part
fastcgi_param SYMFONY__MY__VARIABLE
'my variable';
}

error_log
/var/log/nginx/project_error.log;
access_log
/var/log/nginx/project_access.log;
}

A parte interessante, conforme mencionado na configuração, é que você pode encaminhar algum valor usando um nome personalizado.

O mapeamento de variáveis

O esquema deve ser SYMFONY__NAME, onde NAMEpode ter alguns sublinhados duplos como separador.

NAME irá traduzir para a variável% name% no symfony, onde os sublinhados duplos serão substituídos por um ponto.

  • SYMFONY__VARIABLE ->% variável%
  • SYMFONY__MY__VARIABLE ->% my.variable%

Configuração Symfony

Agora, no projeto symfony disponível em, você terá qualquer arquivo de configuração onde possa precisar do conteúdo de alguma variável de ambiente. Finja que preciso do conteúdo de na variável em . É sua escolha sobre o formato./var/www/project/
SYMFONY__MY__VARIABLEnothing_to_doapp/config/parameters.(yaml|php|xml|ini)

Usarei um yaml, pois é mais fácil de digitar:

# app/config/config.yaml 
[...]
parameters
:
nothing_to_do
: %my.variable%
[...]

Consulte a documentação sobre a configuração de variável externa que não cobre o Nginx:
http://symfony.com/doc/current/cookbook/configuration/external_parameters.html#environment-variables

Como você pode ver, é bastante simples, mas poderoso.