Laravel 5: Php Artisan serve pour accélerer un déploiement local

Bonsoir 🙂

Je me suis retrouvé aujourd’hui à devoir tester une application web Api-Client développé sous Laravel. Avant, j’aurais probablement du commencer par configurer MAMP (ou solution équivalent), remplir la db, … Mais avec Laravel, 5 minutes chronos suffisent.

Nb: Ma solution fonctionne sur Max Os X (Yosemite et El captain testé). Pour les distributions linux la solution doit être très proches. Pour windows les commandes artisan sont logiquement les mêmes, mais je vous laisse découvrir par vous même l’installation de Mysql et Php.

Installer Mysql sur votre machine

Télécharger Mysql

En testant, vous risquer d’obtenir une erreur Error: 2002 - No such file or directory car Php n’arrive pas à communiquer avec Mysql.
Pour régler le problème il suffit de créer un lien symbolique1 :

cd /var
sudo mkdir mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

Récupéré votre projet (un git clone par exemple)

Dans le cas d’un projet sous versionning, vous ne pusher normalement pas votre dossier vendor, un composer install est donc utile.
Ensuite, il faut simplement adapter le .env (mais idem, si c’était sur versionning, il n’est normalement pas présent).
un cp .env.example .env permet donc d’avoir un .env vierge.

Modifié ensuite les données de connections à la base de données (dans mon cas, j’avais juste à ajouter dans le .env de l’Api les données de Db) :
Par défaut, l’install de mysql est accessible en localhost sur le port habituel 3306 avec le login « root » et pas de mot de passe.

Effectuer ensuite un php artisan key:generate sur chacune des applications à lancer afin de générer la clé (Sans cela vous obtiendrez une erreur)

Lancer le serveur Mysql et Web

Rendez vous dans vos préférences systèmes, en bas avec d’autres extensions installées se trouve le logo mysql
Mysql-param

Cliquez dessus, et lancer ensuite Mysql
Mysql-Mac

Une fois Mysql démarré, pensé éventuellement à faire un php artisan migrate et si nécessaire un php artisan db:seed afin de remplir la base de donnée (ou de la mettre à jour).

Il est donc temps de lancer les serveurs (pas trop loin quand même ^^) :

php artisan serve --port=8000
php artisan serve --port=8001

Dans mon cas, je lance l’Api sur le port 8000 et le client sur le port 8001. On pourrait donc avoir une multitude d’application tournant de cette façon.

Ps: Sachez que cette solution existe aussi sur Symfony 2 (le « Papa » de Laravel), php app/console server:start, pour en savoir plus, c’est Ici

1 Source (+ installer un serveur web complet sur max os x yosemite)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *