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 -vSi 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 phpDans ton Terminal, navigue vers le dossier qui contient ton site PHP :
cd /chemin/vers/ton/projetExemple :
cd ~/Sites/mon-projet
Enfin, lancer le serveur PHP intégré sur Mac
Toujours dans le Terminal, exécute :
php -S localhost:8000Rendez-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:8000Pour 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.phpArrê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 :8000Aller plus loin avec ton environnement PHP local
- Ajouter HTTPS local avec mkcert