Hello,
Après avoir parler de l’IDE qui va bien pour développer en Symfony 2 sur Mac OS X, voici un petit article pour expliquer comment installer son environnement de développement (Apache, PHP, Mysql…)
Voici ce qu’il faut (c’est mon choix de config, hein 🙂 ) :
- MAMP Pro (Marche aussi avec MAMP classique, mais je préfère le pro pour les options de conf)
- Symfony
- Le Terminal
- Un peu de temps
Mise en place MAMP Pro
Tout d’abord télécharger et installer MAMP sur le site : http://www.mamp.info/en/index.html
L’avantage de la version PRO est qu’elle vous simplifie la vie pour la configuration des vhosts, hosts et PHP.
Pendant le temps du téléchargement préparer un dossier ou vous allez déposer votre futur site.
Ex : /Users/djo/Sites/monsite.com
Ensuite nous allons définir le vhost. Pour cela un petit coup de lancement de MAMP Pro.
Dans un premier temps je change le port Apache pour éviter d’avoir a taper l’url http://monsite.com:8888 mais plutôt http://monsite.com
Ensuite dans l’onglet PHP je choisis la version qui va bien (Supérieur 5.3)
Puis dans hôtes je créé un nouvel hôte. Pensez à faire pointer votre vhost sur le dossier web de votre site Symfony2.
Changer votre configuration PHP par défaut
Par défaut sous MAC une configuration PHP est installé. Lorsque vous allez exécuter une commande php via le terminal il va directement utilisé le php de base implanté dans Mac Os X.
Pour vérifier que c’est bien le cas un petit coup de commande
php -v
Il doit vous retourner une version qui ne correspond pas à la version que vous avez sélectionné dans votre MAMP Pro.
Nous allons donc surcharger l’appel de php grace à un fichier .profile.
Pour cela aller dans le terminal (toujours :))
Aller dans votre dossier utilisateur :
cd /Users/djo/
Puis créer un fichier
touch .profile
Dans ce fichier compléter : (via vi par exemple)
export PATH=/Applications/MAMP/bin/php/php5.3.14/bin:$PATH
Puis enregistrer. En gros on va dire à l’OS que lorsque l’on utilise la commande php il doit utiliser notre nouvelle configuration PHP présente dans le dossier MAMP.
Exécuter cette commande pour que votre modification soit prise en compte
source $HOME/.profile
Puis enfin vérifier que vous avez maintenant la bonne configuration de php
php -v
Il doit vous retourner ici la version de Mamp.
Préparer votre site Symfony 2
Télécharger Symfony : http://www.symfony.com
Décompresser l’archive dans votre dossier fraichement créé (dans mon cas : /Users/djo/Sites/monsite.com).
cd votre repertoire
Puis
php app/check.php
En théorie si vous avez bien suivi le paragraphe sur la configuration PHP vous devez avoir aucun ERROR, juste des warnings pas forcément bloquant.
Installer composer
Composer permet de vous simplifier la gestion des bundles (package) dans Symfony2 . En gros si vous utiliser un package pour la gestion des utilisateurs (exemple : FosUserBundle), composer va récupérer pour vous les mise à jour et vous dire si cette version est compatible avec votre version de Symfony. Pour plus d’infos consulter le site composer.
Nous allons voir comment l’installer sur Mac OSX.
Tout d’abord il faut impérativement avoir traité la configuration PHP vu plus haut.
Pour cela rien de plus simple (issu de la doc sur le site composer) :
$ curl -s https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer
Si vous avez l’erreur suivante, c’est qu’il faut revoir votre configuration PHP (voir bloc Changer votre configuration PHP par défaut plus haut)
I'm getting this error when trying to install:
#!/usr/bin/env php Some settings on your machine make Composer unable to work properly. Make sure that you fix the issues listed below and run this script again:
The detect_unicode setting must be disabled. Add the following to the end of your php.ini: detect_unicode = Off
Une fois installé aller dans le répertoire de votre site puis faites :
composer update
Et la, magie composer gère pour vous tous les packages !
Développer
Vous avez maintenant une configuration parfaite. A vous les joie du dev !
22 Responses
merci
Merci pour cet article, comment enlever les warnings (intl extension)
Merci Beaucoup pour ce tuto
Pour intl j’ai suivi cet article : http://blog.geertvd.be/2011/05/18/installing-the-intl-extension-on-mamp/
Bonjour Djoo Merci, je reste bloquer à l’étape Composer , en effet je ne trouve pas ce chemin sur mon mac : /usr/local/bin/composer
Bonjour,
Il faut d’avoir récupérer le paquet composer avec la commande : curl -sS https://getcomposer.org/installer | php
Puis, le déposer dans mv composer.phar /usr/local/bin/
De mémoire je crois que je n’avais pas de dossier bin. Je l’ai créé avec la commande mkdir
A+
Merci 😉 Ca marche !!! En effet pas de dossier bin!
Super, clair et simple, ça fonctionne sans accroche.
Excellent
Super merci
Merci beaucoup. J’ai cherchée beaucoup d’heures mais déjà ta page d’Internet me pouvais aider. Seulement une petite faute: $HOME/ .profile avec un trou entre « / » et « . » et le setup marche sans error. Excuses-moi mon français si mal, mais je suis déjà très heureuse, que j’ai comprends cette tutorial :-). Und bonne journée
De rien 🙂
Glad to helped you 🙂
Merci, ça me parait clair. Mais avant de commencer je me pose une question, le site sur lequel je travaille a été développé avec symfony2 sous windows. J’ai récupéré le dossier sur un NAS et je travaille sous Yosemite. Est-il utile de mettre en place toute cette manip’ ? Est-il tout simplement possible de passer de windows à OSX ?
Merci beaucoup de m’éclairer.
Symphatiquement,
Alfred
Pour un projet existant vous pouvez peut être simplement utiliser MAMP. Par contre dès que vous allez devoir gérer des packages avec composer vous allez vous retrouver avec des problèmes que ce tuto pourrait vous éviter.
Attention également, le tuto commence à être un peu vieux.
Oh putain ça marche ! \o/
Wooo ! Merci !
De rien 🙂
Un grand merci, c’est très clair et exactement ce que je cherchais. Sans MAMP Pro c’est une vraie galère sous mac.
Merci 🙂 C’est vrai que sans MAMP pro j’ai bien galéré aussi.
Cela fait 3 mois que je cherche :'( cela ne marche pas à la derniere étape..
MBP-de-Charlie:charlie Charlie$ composer update
-bash: composer: command not found
C’est que tu n’as pas ou mal installé composer. Fais un tour sur le site
https://getcomposer.org c’est super simple
Salut et merci.
J’ai par ailleurs trouvé l’approche de kkirsche intéressante : https://gist.github.com/kkirsche/5710272
Merci, c’est hyper simple