mercredi 14 mai 2014

Définir l'environement Symfony2 dans Composer

Lors d'un composer update, ou composer install (je vous laisse découvrir composer), et dans le cas d'un projet Symfony2, un script est exécuté pour vider le cache.

Ce script est définit dans le composer.json :
{ "scripts": { "post-install-cmd": [ "...\\ScriptHandler::clearCache" ], "post-update-cmd": [ "...\\ScriptHandler::clearCache" ] } }
Seulement voilà, ce script ne prend pas l'environement Symfony2 en paramètre. Du coup, composer l'appelle directement, et ce script appelle la commande "php app/console cache:clear".

Quand on ne passe pas d'environement à la console Symfony2, elle va chercher dans la variable d'environement SYMFONY_ENV, sinon, elle utilise "dev".

Donc pour définir cet environement, sans pour autant définir une variable au niveau système (qui pourrait casser d'autres environements Symfony2 installés sur le même serveur), il suffit d'appeler composer comme ceci :
SYMFONY_ENV=prod composer install --no-dev --optimize-autoloader

Aucun commentaire:

Publier un commentaire