🇫🇷 Installation de symfony sous windows

Outdated article!

If it's a technical article, take care, maybe some informations are not exact anymore.
Otherwise, please keep in mind that this article was written quite a long time ago.

Voici un petit tutoriel simple et rapide qui vous permettra de préparer votre environnement de travail puis d'installer symfony. Étapes nécessaires avant de pouvoir utiliser cet excellent framework! :)

La procédure d'installation de symfony sur une architecture WAMP ne présente aucune difficulté particulière et peux aisément se réaliser en suivant les instructions de la documentation officielle du framework symfony ou du premier chapitre de l'excellent tutoriel Jobeet.

Cependant, pour celles et ceux que l'anglais horripile ou qui préfèrent suivre des explications adaptées à leur plateforme, voici les étapes à suivre pour installer le framework symfony.

Seul prérequis avant de démarrer l'installation, assurez-vous d'avoir une version de WampServer à jour.

Première étape: Installation de PEAR

DĂ©finition de Wikipedia pour PEAR:

PEAR (pour PHP Extension and Application Repository) est une collection de bibliothèques PHP. C'est aussi une application qui permet de gérer les bibliothèques (installer ou mettre à jour une bibliothèque).

PEAR va permettre d'installer symfony (ainsi que de nombreux autres packages) grâce à une simple ligne de commande.

MAJ: La manipulation permettant d'installer PEAR dépend maintenant de votre version de WampServer (merci à LeoSquall pour la remarque!)

  • Version 2.0h ou infĂ©rieure:

    Pour installer PEAR, lancez go-pear.bat situé dans le dossier bin/php/php5.x.x de votre répertoire d'installation de WampServer en utilisant l'invite de commande.

    Ce qui donne dans mon cas:

    cd C:\APPS\WampServer\bin\php\php5.2.6
    go-pear.bat
    
  • Version 2.0i ou supĂ©rieure:

    Créez un fichier script.bat dans le dossier bin/php/php5.x.x de votre répertoire d'installation de WampServer puis copiez-y le code suivant:

    php -d phar.require_hash=0 PEAR\go-pear.phar
    

    Exécutez le script en double cliquant dessus ou via l'invite de commande

MAJ: Vous pouvez continuer de suivre ce tutorial, quelque soit votre version de WampServer! :)

Modification de la variable Path

Modification de la variable Path

Au cours de l'installation, contentez-vous d'appuyez sur Entrée à chaque nouvelle demande et de répondre par l'affirmative lorsque que le script vous demandera si vous souhaitez qu'il modifie votre fichier php.ini (Would you like to alter php.ini ?).

Maintenant que PEAR est installé, il ne reste plus qu'à s'en servir! :) Pour cela il va falloir rajouter une nouvelle variable système. Rien de plus simple: Clic droit sur le poste de travail -> Propriétés -> Onglet "Avancé" -> Variables système.

Modifiez à présent la variable Path en ajoutant simplement à la fin de la chaine l'adresse du dossier utilisé auparavant (celui dans lequel se situe le script go-pear.bat) précédé d'un point virgule. Dans mon cas: ; C:\APPS\WampServer\bin\php\php5.2.6

Fermer l'invite de commande puis ré-ouvrez la afin que les modifications soient prises en compte.

Voilà, PEAR est installé et fonctionnel!

Deuxième étape: Installation de symfony

Comme expliqué ci-dessus, PEAR va maintenant nous permettre d'installer symfony grâce à une simple ligne de commande! Ou plutôt deux! La première va permettre d'enregistrer un nouveau channel contenant une liste de packages. Une fois ce channel ajouté, il suffit d'installer le package de son choix, en l'occurrence, la dernière version stable de symfony. Voici les commandes:

pear channel-discover pear.symfony-project.com

puis

pear install symfony/symfony

A présent que symfony est installé, reste à mettre en place un minimum de configuration.

Troisième étape: Configuration

Afin de faire fonctionner symfony, il faut vérifier et éventuellement modifier votre configuration de php et d'apache.

Modification de la configuration de php

Tout d'abord, ouvrez le fichier php.ini situé dans le même dossier qu'auparavant. Si vous utilisez WampServer, une fois celui-ci démarré, vous pouvez accéder rapidement au fichier en cliquant (gauche) sur l'icône de WampServer dans la barre des taches, puis PHP -> php.ini.

Dans ce fichier, deux choses à vérifier. Rechercher memory_limit et vérifier que la valeur est supérieure ou égale à 16M (memory_limit = 16M).

Enfin, si vous utilisez une version inférieure à PHP 5.3, vérifier que les magic quotes (guillemets magiques) sont désactivés (magic_quotes_gpc = Off)

Modification de la configuration d'apache

Ouvrez maintenant le fichier httpd.conf situé dans le dossier bin/apache/apache2.x.x/conf du répertoire d'installation de WampServer ou encore une fois, accédez-y via l'icône de WampServer situé dans la barre des tâches (Apache -> httpd.conf)

Vérifiez que le module apache de rewriting, rewrite_module est bien activé (pas de # devant la ligne: LoadModule rewrite_module modules/mod_rewrite.so)

N'oubliez pas de redémarrer le serveur apache afin que les modifications soient prises en compte!

Dernière étape, nous devons permettre au serveur apache d'accéder aux images, feuilles de styles et fichier javascript fournis par symfony et utilisé notamment par l'admin generator, les pages par défaut et la barre de debug.

La solution la plus optimale est d'utiliser un alias apache (plus ou moins l'équivalent d'un lien symbolique sous unix). Cependant, cette solution dépendant notamment de votre configuration apache existante et de l'utilisation que vous faites de votre serveur (multi-sites, etc) je ne la détaillerai pas dans cet article. Vous trouverez néanmoins un nombre important d'informations dans la documentation officielle de symfony ou dans celle d'apache.

Nous allons donc nous contenter d'utiliser la seconde solution. Pour cela, commencez par créer votre projet symfony en suivant les instructions de la documentation, puis copiez/collez l'ensemble des fichiers situés dans le dossier bin/php/php5.2.6/data/symfony/web/sf du répertoire d'installation de WampServer dans le répertoire web/sf de votre projet symfony. Cette solution fonctionne parfaitement, néanmoins vous serez obligé de refaire cette manipulation pour chaque projet que vous réaliserez sur votre machine mais également à chaque nouvelle version de symfony que vous utiliserez par la suite.

Tags: symfony, php, windows, wamp