Comment lancer un serveur PHP sur Mac dans le dossier courant ?

php elephant sticker
Écouter cet article

Tu veux tester ton site PHP en local sur macOS sans te compliquer la vie ? Bonne nouvelle : macOS et PHP intègrent déjà tout ce qu’il faut. Dans ce guide, tu vas apprendre à lancer un serveur PHP dans ton dossier courant en quelques secondes, sans Apache, Nginx ou MAMP.

Pourquoi utiliser le serveur PHP intégré sur Mac ?

PHP inclut un serveur web de développement ultra simple. C’est la solution parfaite pour :

  • Tester rapidement un projet PHP en local
  • Éviter d’installer des outils lourds comme XAMPP ou Docker
  • Travailler sur plusieurs projets sans configuration complexe

Attention ! Ce serveur est destiné uniquement au développement. Il n’est pas sécurisé pour la production.

D’abord, vérifier si PHP est installé sur macOS

Ouvre le Terminal (Applications > Utilitaires > Terminal) et tape :

php -v

Si tu vois s’afficher une version, par exemple PHP 8.5.x, c’est parfait ! passe à l’étape suivante.
Sinon, installe PHP avec Homebrew :

brew install php

Dans ton Terminal, navigue vers le dossier qui contient ton site PHP :

cd /chemin/vers/ton/projet

Exemple : cd ~/Sites/mon-projet

Enfin, lancer le serveur PHP intégré sur Mac

Toujours dans le Terminal, exécute :

php -S localhost:8000

Rendez-vous maintenant sur http://localhost:8000 dans ton navigateur pour voir ton site.

Si tu veux accéder au site depuis d’autres appareils (smartphone, tablette) sur ton réseau local :

php -S 0.0.0.0:8000

Pour aller plus loin, gérer les URLs et le routage (optionnel)

Pour les projets qui utilisent des URLs propres (ex : /blog/article-1), crée un fichier router.php :

<?php
$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
$file = __DIR__ . $path;

if ($path !== '/' && file_exists($file)) {
    return false; // Sert le fichier directement
}

include __DIR__ . '/index.php'; // Sinon redirige vers index.php
?>

Puis relance ton serveur PHP en l’utilisant comme routeur :

php -S localhost:8000 router.php

Arrêter le serveur ou le lancer en arrière-plan

Pour arrêter le serveur : Ctrl + C dans le Terminal.

Pour qu’il tourne en arrière-plan :

nohup php -S localhost:8000 > server.log 2>&1 &

Vérifier si le port 8000 est utilisé :

lsof -i :8000

Aller plus loin avec ton environnement PHP local

  • Ajouter HTTPS local avec mkcert