41 votes

Comment définir l'environnement dans une commande de console Symfony2

Espérons qu'une question simple - comment spécifier l'environnement à utiliser lors de l'exécution d'une commande de console dans Symfony2. J'ai créé quelques commandes, mais j'aimerais les exécuter dans le contexte de mon environnement de "staging" sur mon serveur de staging et de mon environnement "prod" sur mon serveur de production (les différents environnements définissent différentes connexions à la base de données). Comment configurer et transmettre ces informations à ma commande de console ?

73voto

Problematic Points 10229

Vous avez deux options qui vous aideront. Vous pouvez spécifier l'environnement dans lequel la console s'exécutera avec l' --env et utiliser --no-debug pour désactiver le mode de débogage.

php app/console --env=staging your:console:command ou php app/console --env=prod your:console:command devraient faire ce que vous recherchez (la console s'exécute dans l' dev avec le débogage activé par défaut).

Vous pouvez consulter le code du app/console pour plus d'informations.

54voto

Francesc Rosàs Points 1204

Vous pouvez également utiliser la variable d'environnement SYMFONY_ENV pour définir un environnement par défaut distinct de 'dev' (par exemple export SYMFONY_ENV=prod dans ~/.bash_profile )

5voto

Lynx_BY Points 71

Il existe une autre variante, pas si pratique cependant, mais fonctionne aussi avec composer

 SYMFONY_ENV=prod app/console cache:clear

5voto

croca Points 11

La documentation officielle dit :

Par défaut, les commandes de la console s'exécutent dans l'environnement de développement et vous souhaiterez peut-être modifier cela pour certaines commandes.

Ainsi, comme le suggère @Problematic, vous pouvez spécifier l'environnement de votre commande en utilisant le drapeau "--env= your_env " ou son raccourci "-e your_env ".

Je me demande s'il est possible de forcer l'environnement par défaut pour une commande. Je veux dire, sans avoir à utiliser les drapeaux. Une idée?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X