Travailler avec 2 versions de Symfony

Posté par cyrille le 27/11/2009 dans symfony

J'ai peu développé depuis 1 an et demi, alors quand j'ai du reprendre le dev pour le site de notre agence de référencement, Symfony 1.2 était disponible en version stable. Je me suis donc retrouvé avec 4 sites en production sous version 1.0 et de nouveaux projets à concevoir sous 1.2.

Habitué à travailler en local avec PEAR sous Windows XP et WAMP, je me suis retrouvé face à un casse-tête, faire coexister 2 versions de PEAR. Plusieurs problèmes se sont alors posés : impossible de faire coexister 2 versions de PEAR avec une seule version de PHP et impossible d'installer 2 versions de WAMP. C'est très loin d'être idéal mais la solution la plus simple que j'ai trouvé est la suivante : 

- Installer WAMP -> Initialiser PEAR -> Installer Symfony 1.0 (qui tourne parfaitement même avec le versions les plus récentes de PHP).

- Supprimer toutes les variables relatives à PHP et PEAR dans Panneau de configuration\système\Avancé\Variables d'environnement et reporter ces variables dans un fichier symfony10.cmd. Votre fichier devrait ressembler à celui ci :

REM Ajoute les commandes php de wamp
SET PHPCOMMANDS=C:\wamp\bin\php\php5.2.9-1
SET PHP_PEAR_SYSCONF_DIR=C:\wamp\bin\php\php5.2.9-1
SET PHP_PEAR_INSTALL_DIR=C:\wamp\bin\php\php5.2.9-1\pear
SET PHP_PEAR_DOC_DIR=C:\wamp\bin\php\php5.2.9-1\docs
SET PHP_PEAR_BIN_DIR=C:\wamp\bin\php\php5.2.9-1
SET PHP_PEAR_DATA_DIR=C:\wamp\bin\php\php5.2.9-1\data
SET PHP_PEAR_PHP_BIN=C:\wamp\bin\php\php5.2.9-1\.\php.exe
SET PHP_PEAR_TEST_DIR=C:\wamp\bin\php\php5.2.9-1\tests

SET OLDPATH=%PATH%
SET PATH=%PHPCOMMANDS%;%OLDPATH%

- Installer XAMPP -> Initialiser PEAR -> Installer Symfony 1.2

- Nettoyer à nouveau les variables d'environnement Windows et créer un fichier symfony12.cmd :

REM Ajoute les commandes php de xampp
SET PHPCOMMANDS=C:\xampp\php
SET PHP_PEAR_SYSCONF_DIR=C:\xampp\php
SET PHP_PEAR_INSTALL_DIR=C:\xampp\php\pear
SET PHP_PEAR_DOC_DIR=C:\xampp\php\docs
SET PHP_PEAR_BIN_DIR=C:\xampp\php
SET PHP_PEAR_DATA_DIR=C:\xampp\php\data
SET PHP_PEAR_PHP_BIN=C:\xampp\php\.\php.exe
SET PHP_PEAR_TEST_DIR=C:\xampp\php\tests

SET OLDPATH=%PATH%
SET PATH=%PHPCOMMANDS%;%OLDPATH%

Voilà, il ne vous reste plus qu'à lancer la commande correspondant à la version de Symfony que vous souhaitez utiliser. 

5 commentaires

Posté par thibault le 30/11/2009
Salut, Tu te casses un peu la tête. Pear n'est plus la méthode recommandée pour installer Symfony, mieux vaut l'intégrer directement dans ton projet. La documentation sur l'installation détaille bien la procédure. à++;
Posté par cyrille le 30/11/2009
Mais comment fais-tu alors pour utiliser en ligne de commande 2 clients symfony différents ? En tout cas merci pour ton commentaire, j'étais justement encore en train d'essayer de remettre à plat ma méthode de travail.
Posté par jean-phi le 30/11/2009
Embarquer symfony dans le projet ce n'est terrible pour les mises à jour! mieux vaut utiliser des liens symboliques et garder une seul copie de travail pour chaque version => un seul dossier à mettre à jour exemple : mkdir /usr/share/php5/symfony/1.0 cd /usr/share/php5/symfony/1.0 svn co http://svn.symfony-project.com/branches/1.0 ./ mkdir /usr/share/php5/symfony/1.2 cd /usr/share/php5/symfony/1.2 svn co http://svn.symfony-project.com/branches/1.2 ./ .... après tu fais des liens symboliques dans bin pour créer des commandes propres à chaque version
Posté par cyrille le 30/11/2009
Effectivement, ça semble être la solution la plus pérènne. Merci :).
Posté par Jeanphi le 03/12/2009
un petit billet ou je fais cohabité deux versions de sf sur un serveur http://www.jeanphi.fr/?post/2009/12/03/installation-complete-d-un-serveur-web-sous-centos54-jour-2-installation-de-symfony-et-configuration-d-un-virtual-host