Travailler en local avec le serveur Web PHP

Je croises régulièrement des futurs développeurs qui lorsqu’il débute avec PHP commence par installer un serveur Web du type Apache en passant notamment par des solutions packagées du type WAMP, MAMP ou encore Devserver.

Je n’ai rien contre ce type de solution bien que j’ai beaucoup de mal à travailler avec, mais cela permet dans certain cas d’accélérer la mise en place d’un environnement de travail, je dis pourquoi pas…

Utiliser le serveur web interne de PHP

Peu de gens le savent, peu de développeurs l’utilisent mais PHP dispose d’un serveur Web interne depuis sa version 5.4. Du coup plus besoin d’installer Apache ou Nginx sur sa machine pour appeler une page Web exécutant PHP.
Voyons donc comment utiliser le serveur Web interne de PHP.

Modifier votre fichier hosts

Avant de lancer le serveur Web PHP, nous allons modifier le fichier hosts de notre machine afin d’avoir une ligne de ce type :

127.0.0.1 monprojet.local

Modifier le fichier hosts sous Linux

Sous linux le fichier hosts se trouve sous le répertoire /etc de votre machine. Donc on édite simplement le fichier avec un éditeur de texte, exemple avec nano :

sudo nano /etc/hosts

On colle la ligne vu au dessus et on sauvegarde.

Modifier le fichier hosts sous Windows

Pour cela, je vous invite à consulter cette page : modifier fichier hosts windows.

Lancer le serveur Web PHP

Avec un terminal placez vous dans votre répertoire de travail, moi par exemple il est dans « monrepertoireperso/public_html/monprojet/ » :

cd ~/public_html/monprojet/

Ensuite on lance la commande permettant de démarrer le serveur Web :

php -S monprojet.local:8888

Le 8888 permet de spécifier le port d’écoute du serveur.

On vérifie le bon fonctionnement sur un navigateur

Serveur Web PHP, on vérifie que cela fonctionne.
ça fonctionne \o/

La console continue de tourner

Durant l’exécution du serveur, la console continue de tourner. Celle-ci peut vous afficher des erreurs d’exécution qui peuvent vous aider à avancer plus vite.

Console log serveur Web PHP
Log console Serveur Web

Le serveur Web PHP vous permet de démarrer rapidement un projet sans avoir à installer divers logiciel pas forcément utile en développement.
Toutefois en production, vous ne pourrez l’utiliser, il conviendra de passer par un serveur Web classique du type Apache ou Nginx.