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> | ||