Besoin de tester un script PHP sans installer un serveur web lourd comme Apache ? Pas de panique.
Ce guide vous explique comment lancer un serveur web local en une seule commande.
Qu’est-ce que le langage PHP ? Définition rapide
PHP est un langage de script côté serveur. Son nom est un acronyme récursif qui signifie « PHP: Hypertext Preprocessor ». C’est un outil open source très utilisé pour créer des sites web dynamiques et des applications web. Le « côté serveur » veut dire que le code s’exécute sur le serveur avant d’envoyer la page HTML finale à votre navigateur.
Son principal avantage est qu’il peut être intégré directement dans du code HTML. Il est souvent combiné avec une base de données comme MySQL pour stocker des informations. Sa syntaxe est assez simple pour les développeurs, car elle s’inspire d’autres langages connus comme C, Java et Perl.
La commande php -s : votre serveur web intégré en une ligne
PHP vient avec un outil très pratique mais souvent méconnu : un serveur web intégré. Il permet de lancer un environnement de test local sans aucune configuration compliquée.
À quoi sert le serveur web intégré de PHP ?
Le serveur intégré de PHP est un outil pour les développeurs. Il permet de lancer rapidement un site web sur votre machine. C’est parfait pour tester un petit script ou prototyper une application sans perdre de temps.
Le gros avantage : vous n’avez pas besoin d’installer et configurer un serveur web lourd et complexe comme Apache ou Nginx. Une simple ligne de commande suffit. Cet outil est donc idéal pour les tâches de développement rapides et les tests.
Attention : Ce serveur est uniquement fait pour le développement local. Il n’est ni assez sécurisé, ni assez performant pour un site en production accessible au public.
Comment lancer le serveur avec php -s ? Syntaxe et exemple de base
La commande pour démarrer le serveur est simple. Attention, bien que l’on parle souvent de « php -s », la commande exacte utilise un S majuscule. C’est un point important à retenir.
La syntaxe de base est la suivante :
-S: L’option qui doit être en MAJUSCULE pour lancer le serveur.<host>: L’adresse sur laquelle le serveur écoute. Pour un usage local, on utiliselocalhost.<port>: Le port à utiliser. Choisissez un nombre au-dessus de 1024, comme8000, pour éviter les conflits.
Pour lancer un serveur sur votre machine, ouvrez votre terminal, placez-vous dans le dossier de votre projet et tapez :
Votre serveur est maintenant actif. Pour le tester, créez un fichier index.php dans ce même dossier avec le contenu suivant :
echo « <h1>Bonjour le monde !</h1> »;
echo « <p>Le serveur a été lancé avec succès le » . date(‘Y-m-d H:i:s’) . « </p> »;
?>
Ouvrez ensuite votre navigateur web et allez à l’adresse http://localhost:8000. Vous devriez voir le message « Bonjour le monde ! » s’afficher.
Options et personnalisation de la commande
La commande de base est utile, mais on peut la personnaliser avec quelques options supplémentaires. La plus courante est l’option -t.
L’option -t <docroot> permet de spécifier le dossier racine de votre site web (le « document root »). C’est très pratique si vos fichiers publics (comme index.php, CSS, JavaScript) sont dans un sous-dossier, par exemple un dossier nommé public.
Voici un exemple :
Avec cette commande, le serveur considérera le dossier public/ comme la racine de votre site. Toutes les requêtes commenceront à partir de ce dossier.
Une autre personnalisation utile est de changer l’hôte. Si vous voulez rendre votre serveur accessible sur votre réseau local (par exemple, pour le tester depuis votre téléphone), vous pouvez remplacer localhost par 0.0.0.0.
Exemples concrets et cas d’usage
Voici quelques situations où le serveur intégré est particulièrement utile :
- Tester un script isolé : Vous avez un seul fichier PHP à tester rapidement. Pas besoin de créer tout un projet, lancez juste le serveur dans le dossier contenant le fichier.
- Faire fonctionner une application simple : Pour les petites applications qui utilisent un « front controller » (un seul
index.phpqui gère toutes les requêtes), le serveur intégré est parfait. - Prévisualiser un site statique avec du PHP : Si vous avez un site principalement en HTML/CSS mais avec quelques inclusions PHP (comme un menu ou un pied de page), ce serveur est le moyen le plus rapide de le voir fonctionner.
Alternatives à php -s pour un environnement de développement local
Le serveur intégré est excellent pour sa simplicité. Mais pour des projets plus complexes, d’autres outils peuvent être plus adaptés. Voici quelques alternatives :
- XAMPP, MAMP, WampServer : Ce sont des packs logiciels « tout-en-un » qui installent Apache, PHP et MySQL sur votre machine. Ils sont plus complets mais aussi plus lourds à installer et gérer.
- Docker : C’est une technologie de conteneurisation qui permet de créer des environnements de développement isolés et reproductibles. La courbe d’apprentissage est plus raide, mais c’est très puissant pour gérer des projets complexes et travailler en équipe.
- Laravel Valet / Symfony CLI : Ce sont des outils spécifiques à des frameworks. Ils offrent des environnements de développement optimisés pour Laravel (Valet) ou Symfony (CLI), avec des fonctionnalités avancées comme la gestion de plusieurs sites et des noms de domaine locaux.
Questions fréquentes (FAQ) sur le serveur intégré PHP
Voici quelques questions que les développeurs se posent souvent sur cet outil.
Peut-on utiliser le serveur php -s en production ?
La réponse est non, absolument pas. Ce serveur a été conçu pour le développement et les tests. Il n’a pas les mécanismes de sécurité, de performance et de stabilité nécessaires pour un site web public. Pour la production, il faut utiliser un vrai serveur web comme Apache ou Nginx.
Le serveur php -s gère-t-il les fichiers .htaccess ?
Non. Les fichiers .htaccess sont spécifiques au serveur web Apache. Le serveur intégré de PHP ne les lit pas et ne les interprète pas. Si votre application dépend de règles de réécriture d’URL ou d’autres configurations .htaccess, vous devrez utiliser un routeur PHP ou tester avec un serveur Apache local.
Comment arrêter le serveur une fois lancé ?
Le serveur s’exécute directement dans votre terminal. Pour l’arrêter, il suffit de retourner dans la fenêtre du terminal où vous avez lancé la commande et d’utiliser la combinaison de touches Ctrl + C. Le processus s’arrêtera immédiatement.
Pour aller plus loin sur PHP
Si vous souhaitez approfondir vos connaissances sur le langage PHP, voici quelques ressources utiles :
- Le site officiel de PHP : php.net est la source de référence pour toute la documentation officielle.
- La page Wikipédia sur PHP : Pour une vue d’ensemble de l’histoire et des concepts du langage.
- Le glossaire MDN sur PHP : Une définition claire et des liens vers d’autres ressources web.
La commande php -S est un outil que tout développeur PHP devrait connaître. Elle simplifie énormément les tests rapides et le prototypage de sites web. Plus besoin de configurations complexes pour voir si un script fonctionne. Pour vos besoins de développement au quotidien, c’est souvent la solution la plus simple et la plus rapide.
