Ceci est une ancienne révision du document !
Les fichiers .env
Les applications Symfony sont livrées avec un fichier appelé .env situé dans le répertoire racine du projet.
Ce fichier est utilisé pour définir la valeur des variables d'environnement.
Dans tous les environnements, les fichiers suivants sont chargés s'ils existent,
Le dernier chargé étant prioritaires sur les premiers :
.env
contient les valeurs par défaut des variables d'environnement nécessaires à l'application..env.local
est un fichier non comité avec des surcharges locales..env.$APP_ENV
contient les valeurs par défaut spécifiques à l'environnement.env.$APP_ENV.local
fichier non commité avec des valeurs spécifiques à l'environnement
Les variables d'environnement réelles sont prioritaires sur les les variables définies dans les fichiers
.env
.
NE DÉFINISSEZ PAS DE SECRETS DE PRODUCTION DANS CE FICHIER NI DANS AUCUN AUTRE FICHIER COMMITÉ.
https://symfony.com/doc/current/configuration/secrets.html
https://symfony.com/doc/current/configuration/secrets.html
Convention de nommages
- Les fichiers
.env
se terminant parlocal
, ne sont pas commités.
Plusieurs fichiers .env
On peut créer plusieurs fichiers .env
en fonction de l'environnement ou on se trouve.
.env
.env.local
.env.prod.local
.env.dev.local
Le fichier .env.xxx
qui sera utilisé pour surchargé le fichier .env
est paramétré dans le fichier .env
lui méme en definissant la variable APP_ENV
- .env
.... APP_ENV=prod # Chargera .env.prod.local ...
En production
Exécuter
https://symfony.com/doc/current/best_practices.htmsymfony l#use-environment-variables-for-infrastructure-configuration
composer dump-env prod
pour compiler les fichiers .env
pour une utilisation en production (nécessite symfony/flex >=1.2).https://symfony.com/doc/current/best_practices.htmsymfony l#use-environment-variables-for-infrastructure-configuration
Depannage
On peut visualiser le mecanisme avec symfony console debug:dotenv
Sources & Ressources
Vous pourriez laisser un commentaire si vous étiez connecté.