Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
prog:symfony:configuration:env [19/09/2022 16:53] thierry [Plusieurs fichiers .env] |
prog:symfony:configuration:env [20/09/2022 16:57] (Version actuelle) thierry [Depannage] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Les fichiers .env ====== | ====== 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 | ||
| + | |||
| + | <note important>Les variables d'environnement réelles sont prioritaires sur les les variables définies dans les fichiers ''.env''.</note> | ||
| + | |||
| + | <note warning>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]]</note> | ||
| + | |||
| + | |||
| ===== Convention de nommages ===== | ===== Convention de nommages ===== | ||
| * Les fichiers ''.env'' se terminant par ''local'', ne sont pas commités. | * Les fichiers ''.env'' se terminant par ''local'', ne sont pas commités. | ||
| Ligne 19: | Ligne 36: | ||
| ... | ... | ||
| </code> | </code> | ||
| + | ===== En production ===== | ||
| + | |||
| + | <note tip>Exécuter''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]]</note> | ||
| + | |||
| + | ===== Depannage ===== | ||
| + | On peut visualiser le mecanisme avec ''symfony console debug:dotenv'' | ||
| + | |||
| + | <code> | ||
| + | thierry@obi1:/var/www/test$ php bin/console debug:dotenv | ||
| + | |||
| + | Dotenv Variables & Files | ||
| + | ======================== | ||
| + | |||
| + | Scanned Files (in descending priority) | ||
| + | -------------------------------------- | ||
| + | |||
| + | * ⨯ .env.local.php | ||
| + | * ⨯ .env.dev.local | ||
| + | * ⨯ .env.dev | ||
| + | * ⨯ .env.local | ||
| + | * ✓ .env | ||
| + | |||
| + | Variables | ||
| + | --------- | ||
| + | |||
| + | ------------ ---------------------------------- ----------------------------------- | ||
| + | Variable Value .env | ||
| + | ------------ ---------------------------------- ----------------------------------- | ||
| + | APP_ENV dev dev | ||
| + | APP_SECRET 0f363272eae2f703c2d2f0fe1b8db8bd 0f363272eae2f703c2d2f0fe1b8db8... | ||
| + | ------------ ---------------------------------- ----------------------------------- | ||
| + | |||
| + | // Note real values might be different between web and CLI. | ||
| + | </code> | ||