WampServer et XAMPP sont pratiques, mais ils cachent ce qui se passe vraiment. Dans ce guide, tu vas installer PHP 8.4 sous Windows à la main, comme un pro : téléchargement de la bonne version, configuration du PATH et du php.ini, activation des extensions, serveur intégré, puis installation de Composer pour gérer tes dépendances. Le tout en 20 minutes, sans logiciel tout-en-un.

🐘 PHP 8.4🪟 Windows 10/11📦 Composer⚙️ php.ini⏱️ 20 min de lecture

Pourquoi installer PHP 8.4 sous Windows sans WampServer ? Parce qu’un environnement installé à la main est plus léger, plus rapide à mettre à jour et surtout identique à celui des professionnels : la commande php disponible partout dans ton terminal, un php.ini que tu maîtrises, et Composer pour installer n’importe quelle librairie en une ligne.

Installer PHP 8.4 sous Windows : Installer PHP 8.4 et Composer sous Windows, sans WampServer
Installer PHP 8.4 et Composer sous Windows, sans WampServer

C’est aussi la meilleure façon de comprendre comment fonctionne PHP. Le jour où un serveur de production te renvoie « extension manquante » ou « fonction non définie », tu sauras exactement où regarder.

Installer PHP 8.4 sous Windows : les 6 étapes d’installation
Les 6 étapes pour installer PHP 8.4 et Composer sous Windows.
🎯
Ce que tu auras à la fin de ce guide
  • PHP 8.4 installé dans C:\php, accessible depuis n’importe quel terminal.
  • Un fichier php.ini configuré pour le développement, avec les extensions essentielles.
  • Le serveur web intégré de PHP pour tester tes projets sans Apache.
  • Composer installé et prêt à l’emploi.
  • Les bons réflexes pour mettre à jour PHP ou passer d’une version à l’autre.

Pourquoi PHP 8.4 ?

PHP 8.4 est sorti le 21 novembre 2024 et reçoit des correctifs de bugs et de sécurité actifs. Il apporte des nouveautés qui changent vraiment la façon d’écrire du code :

NouveautéCe qu’elle permet
Property hooksDéfinir get et set directement sur une propriété, sans écrire de getters et setters
Visibilité asymétriqueUne propriété lisible partout mais modifiable seulement dans la classe : public private(set)
new sans parenthèsesnew Facture()->total() au lieu de (new Facture())->total()
array_find(), array_any(), array_all()Chercher ou tester des éléments d’un tableau sans boucle
Attribut #[\Deprecated]Marquer tes propres fonctions comme obsolètes
💡
Et PHP 8.5 ?

PHP 8.5 est sorti en novembre 2025. La méthode d’installation décrite ici est exactement la même : remplace simplement 8.4 par 8.5 dans les noms de fichiers. On utilise PHP 8.4 dans ce guide car c’est la version la plus répandue chez les hébergeurs et dans les frameworks en ce moment, ce qui t’évite les surprises de compatibilité.

Étape 1 : installer le Visual C++ Redistributable

PHP pour Windows est compilé avec Visual Studio. Il a besoin des bibliothèques d’exécution Microsoft Visual C++ 2015-2022, sans quoi tu obtiendras une erreur VCRUNTIME140.dll est introuvable au premier lancement.

  1. Va sur la page officielle de Microsoft « Derniers téléchargements pris en charge de Visual C++ Redistributable ».
  2. Télécharge la version X64 (vc_redist.x64.exe).
  3. Installe-la et redémarre si l’installateur le demande.

Si tu as déjà installé des jeux ou des logiciels récents, elle est probablement déjà présente : l’installateur te le dira.

Étape 2 : télécharger la bonne version de PHP

Rends-toi sur windows.php.net/download, le site officiel des versions Windows de PHP. Pour chaque version, plusieurs fichiers sont proposés. Voici comment choisir :

VariantePour quoi ?Ton choix
x64 Non Thread Safe (NTS)Ligne de commande, serveur intégré, PHP-FPM, IIS avec FastCGI✅ Celui-ci
x64 Thread Safe (TS)Apache avec mod_php (module chargé dans Apache)Seulement si tu utilises Apache en module
x86Windows 32 bitsNon, ton Windows est en 64 bits
Debug Pack, Development packageDévelopper PHP lui-même ou des extensions en CNon

Télécharge donc le fichier Zip de la section VS17 x64 Non Thread Safe de PHP 8.4. Le nom ressemble à php-8.4.x-nts-Win32-vs17-x64.zip.

🛡️
Vérifie l’intégrité du fichier

Sur la page de téléchargement, chaque fichier est accompagné de son empreinte SHA256. Pour vérifier que ton téléchargement n’a pas été modifié, ouvre PowerShell dans ton dossier Téléchargements et compare :

Get-FileHash .\php-8.4.*-nts-Win32-vs17-x64.zip -Algorithm SHA256

Étape 3 : extraire PHP dans C:\php

  1. Crée le dossier C:\php.
  2. Fais un clic droit sur le zip → Extraire tout → choisis C:\php.
  3. Vérifie que le fichier C:\php\php.exe existe bien (et pas C:\php\php-8.4.x\php.exe).
💡
Pourquoi C:\php et pas « Program Files » ?

Un chemin court et sans espace évite de nombreux problèmes avec certains outils en ligne de commande. Et Program Files est protégé en écriture, ce qui complique la modification du php.ini.

Étape 4 : ajouter PHP au PATH

Le PATH est la liste des dossiers dans lesquels Windows cherche les programmes quand tu tapes une commande. En y ajoutant C:\php, tu pourras taper php dans n’importe quel terminal.

  1. Appuie sur la touche Windows, tape « variables d’environnement » et ouvre Modifier les variables d’environnement système.
  2. Clique sur Variables d’environnement….
  3. Dans Variables utilisateur, sélectionne Path puis Modifier.
  4. Clique sur Nouveau et ajoute C:\php.
  5. Valide avec OK dans toutes les fenêtres.

Ferme tous tes terminaux (et VS Code), puis ouvre un nouveau PowerShell et vérifie :

php -v
PowerShell

Tu dois obtenir quelque chose comme :

PHP 8.4.x (cli) (built: ...) (NTS Visual C++ 2022 x64)
Copyright (c) The PHP Group
Zend Engine v4.4.x, Copyright (c) Zend Technologies
Texte
⚠️
« php n’est pas reconnu en tant que commande interne »

Trois causes possibles : le terminal était déjà ouvert avant la modification du PATH (ferme-le et rouvres-en un nouveau), le chemin ajouté ne pointe pas vers le dossier qui contient php.exe, ou un ancien PHP (WampServer, XAMPP) apparaît avant dans le PATH. Tape where.exe php pour voir quel php.exe Windows trouve en premier.

Étape 5 : configurer le php.ini

PHP est livré avec deux modèles de configuration dans C:\php :

  • php.ini-development : affiche les erreurs, idéal pour coder ;
  • php.ini-production : masque les erreurs, pour un serveur en ligne.

Copie php.ini-development et renomme la copie en php.ini :

Copy-Item C:\php\php.ini-development C:\php\php.ini
PowerShell

Ouvre ensuite C:\php\php.ini dans ton éditeur et modifie les réglages suivants (utilise la recherche avec Ctrl+F).

Le dossier des extensions

; Retire le point-virgule au début de la ligne (Windows uniquement)
extension_dir = "ext"
INI

Les extensions essentielles

Dans la section Dynamic Extensions, retire le ; devant ces lignes :

extension=curl
extension=fileinfo
extension=gd
extension=intl
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=pdo_sqlite
extension=sqlite3
extension=sodium
extension=zip
INI
ExtensionÀ quoi elle sertQui en a besoin
opensslConnexions HTTPS, chiffrementComposer (obligatoire), la plupart des projets
curlAppels HTTP vers des APIComposer, Guzzle, SDK divers
mbstringChaînes multi-octets (accents, emojis)Laravel, Symfony, presque tout
zipArchives zipComposer (téléchargements plus rapides)
pdo_mysqlConnexion à MySQL / MariaDBTout projet avec une base MySQL
pdo_sqlite, sqlite3Base SQLiteTests, petits projets
intlDates, nombres et langues localisésSymfony, Laravel
gdManipulation d’imagesMiniatures, captchas
fileinfoDétection du type des fichiersEnvoi de fichiers, Laravel
sodiumCryptographie moderneChiffrement, jetons

Les réglages de confort

date.timezone = Europe/Brussels
memory_limit = 512M
upload_max_filesize = 20M
post_max_size = 25M
max_execution_time = 60
INI
💡
Où PHP cherche-t-il son php.ini ?

Tape php --ini : la commande affiche le fichier chargé (Loaded Configuration File). Si elle indique (none), ton php.ini n’est pas au bon endroit ou mal nommé (attention aux extensions cachées : php.ini.txt).

Vérifie que les extensions sont bien chargées :

php -m
PowerShell

La liste doit contenir curl, mbstring, openssl, PDO, pdo_mysql, etc.

Étape 6 : tester avec le serveur web intégré

PHP inclut un petit serveur web, parfait pour le développement. Pas besoin d’Apache ni de Nginx.

mkdir C:\dev\test-php
cd C:\dev\test-php
PowerShell

Crée un fichier index.php :

<?php
declare(strict_types=1);

// Une petite démonstration des nouveautés de PHP 8.4
final class Produit
{
    public function __construct(
        public private(set) string $nom,   // lisible partout, modifiable seulement ici
        private float $prixHt,
    ) {}

    public float $prixTtc {
        get => round($this->prixHt * 1.21, 2); // property hook : calculé à la lecture
    }
}

$produits = [new Produit('Clavier', 49.90), new Produit('Souris', 19.90)];
$cher = array_find($produits, fn (Produit $p) => $p->prixTtc > 50);

echo '<h1>PHP ' . PHP_VERSION . ' fonctionne 🎉</h1>';
echo '<p>Produit le plus cher au-delà de 50 € TTC : ' . htmlspecialchars($cher?->nom ?? 'aucun') . '</p>';
PHP

Lance le serveur :

php -S localhost:8000
PowerShell

Ouvre http://localhost:8000 dans ton navigateur : la page affiche la version de PHP et le résultat. Pour arrêter le serveur, appuie sur Ctrl+C dans le terminal.

⚠️
Le serveur intégré est réservé au développement

Il traite une seule requête à la fois et n’a pas été conçu pour la sécurité. Ne l’utilise jamais pour un site en ligne. En production, PHP tourne derrière Apache, Nginx ou un service d’hébergement.

Étape 7 : installer Composer

Composer est le gestionnaire de dépendances de PHP. Au lieu de télécharger des librairies à la main, tu déclares celles dont tu as besoin et Composer les installe, avec leurs propres dépendances, dans le dossier vendor/. Il génère aussi un autoloader : plus besoin d’écrire des dizaines de require.

Méthode recommandée : l’installateur Windows

  1. Va sur getcomposer.org/download et télécharge Composer-Setup.exe.
  2. Lance-le. Il détecte automatiquement C:\php\php.exe (sinon, indique-le).
  3. Laisse les options par défaut ; il ajoute Composer au PATH.
  4. Ferme et rouvre ton terminal, puis vérifie :
composer --version
composer diagnose
PowerShell

composer diagnose vérifie la configuration (extension openssl, accès réseau, version de PHP). Tout doit être OK.

💡
L’installateur se plaint d’une extension manquante ?

C’est presque toujours openssl. Retourne dans le php.ini, vérifie que extension_dir = "ext" et extension=openssl sont bien décommentés, puis relance l’installateur.

Étape 8 : ton premier projet avec Composer

Créons un petit projet qui utilise une vraie librairie, pour voir Composer en action :

mkdir C:\dev\mon-projet
cd C:\dev\mon-projet
composer init --no-interaction --name=lmcode/mon-projet --autoload=src/
composer require vlucas/phpdotenv
PowerShell

Composer a créé trois éléments :

ÉlémentRôleÀ commiter dans Git ?
composer.jsonLa liste de tes dépendances et la configuration de l’autoload✅ Oui
composer.lockLes versions exactes installées✅ Oui
vendor/Le code des librairies❌ Non (ajoute-le au .gitignore)

Utilise maintenant la librairie dans un fichier index.php :

<?php
declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php'; // un seul require pour toutes les librairies

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

echo 'Base de données : ' . $_ENV['DB_NAME'];
PHP
# .env
DB_NAME=boutique
INI
php index.php
# Base de données : boutique
PowerShell

Les commandes Composer que tu utiliseras tous les jours :

CommandeEffet
composer require paquet/nomAjoute une dépendance
composer require --dev phpunit/phpunitAjoute une dépendance de développement uniquement
composer installInstalle les versions exactes du composer.lock (après un git clone)
composer updateMet à jour les dépendances dans les limites de composer.json
composer remove paquet/nomSupprime une dépendance
composer dump-autoloadRégénère l’autoloader après l’ajout de classes
composer auditVérifie les failles connues dans tes dépendances
✅
install ou update ?

Après avoir récupéré un projet, utilise toujours composer install : tu obtiens exactement les versions testées par l’équipe. composer update sert à monter de version volontairement, puis on commite le nouveau composer.lock.

Bonus : installer Xdebug pour déboguer

Xdebug est l’extension de débogage de référence pour PHP. Elle permet de poser des points d’arrêt dans VS Code ou PhpStorm, d’inspecter les variables et d’exécuter ton code ligne par ligne, au lieu de multiplier les var_dump().

  1. Tape php -i > infos.txt, puis colle le contenu du fichier dans l’assistant officiel xdebug.org/wizard. Il t’indique exactement quel fichier .dll télécharger pour ta version de PHP.
  2. Place le fichier dans C:\php\ext en le renommant php_xdebug.dll.
  3. Ajoute ces lignes à la fin de ton php.ini :
zend_extension=xdebug
xdebug.mode=debug,develop
xdebug.start_with_request=trigger
INI
  1. Vérifie avec php -v : la ligne with Xdebug doit apparaître.

Dans VS Code, installe l’extension PHP Debug, crée une configuration de lancement et démarre l’écoute avec F5. Le mode trigger évite de ralentir chaque requête : le débogage ne démarre que lorsque tu le demandes (extension de navigateur Xdebug Helper ou variable XDEBUG_TRIGGER).

⚠️
Xdebug ralentit PHP

Même inactif, Xdebug ajoute une surcharge. Ne l’installe jamais sur un serveur de production, et désactive-le (en commentant la ligne zend_extension) quand tu mesures les performances de ton code.

Installer PHP 8.4 sous Windows : le récapitulatif

Voici toutes les étapes en un coup d’œil, à garder pour ta prochaine installation :

ÉtapeActionVérification
1Installer Visual C++ Redistributable x64Pas d’erreur VCRUNTIME140.dll
2Télécharger PHP 8.4 NTS x64 sur windows.php.netEmpreinte SHA256 identique
3Extraire dans C:\phpC:\php\php.exe existe
4Ajouter C:\php au PATHphp -v
5Créer le php.ini et activer les extensionsphp --ini et php -m
6Tester avec le serveur intégréphp -S localhost:8000
7Installer Composercomposer diagnose

Ajouter une base de données MySQL

PHP est installé, mais pas de serveur de base de données. Plusieurs options selon tes besoins :

  • SQLite : rien à installer, l’extension est déjà activée. Idéal pour apprendre et pour les petits projets.
  • MariaDB ou MySQL : télécharge l’installateur Windows officiel (MSI) et installe-le comme un service Windows.
  • Docker : la solution la plus propre si tu travailles sur plusieurs projets. Notre guide WordPress en local avec Docker te montre le principe avec une base MySQL dans un conteneur.

Mettre à jour PHP ou changer de version

Avec une installation manuelle, mettre à jour PHP prend deux minutes :

  1. télécharge le nouveau zip (par exemple 8.4.y) ;
  2. renomme C:\php en C:\php-ancien ;
  3. extrais le nouveau zip dans C:\php ;
  4. recopie ton php.ini depuis C:\php-ancien ;
  5. vérifie avec php -v, puis supprime l’ancien dossier.

Besoin de plusieurs versions pour différents projets ? Extrais chaque version dans son propre dossier (C:\php84, C:\php85) et change l’entrée du PATH, ou appelle directement le bon exécutable : C:\php85\php.exe -S localhost:8000. Des outils comme Scoop (scoop install php) peuvent aussi gérer les versions pour toi.

Dépannage

ProblèmeCauseSolution
VCRUNTIME140.dll est introuvableVisual C++ Redistributable absentInstalle vc_redist.x64.exe (étape 1)
php n’est pas reconnuPATH non mis à jour ou terminal ouvert avantRouvre le terminal, vérifie avec where.exe php
Call to undefined function mb_strlen()Extension non activéeDécommente extension=mbstring et extension_dir
Unable to load dynamic libraryMauvais extension_dirMets extension_dir = "ext" ou le chemin complet "C:\php\ext"
Composer : The openssl extension is requiredopenssl désactivéeActive extension=openssl
Composer très lentExtension zip absenteActive extension=zip
Port 8000 already in useLe port est occupéUtilise un autre port : php -S localhost:8080
Installer PHP 8.4 sous Windows : les points essentiels à retenir
Les points essentiels à retenir de ce guide.

FAQ

Peut-on installer PHP 8.4 sous Windows en gardant WampServer ?

Oui, les deux peuvent cohabiter. Fais simplement attention à l’ordre dans le PATH : la commande php utilisera le premier php.exe trouvé. Vérifie avec where.exe php.

Faut-il Apache pour développer en PHP ?

Non. Le serveur intégré (php -S) suffit pour la grande majorité des projets en développement, et les frameworks comme Laravel (php artisan serve) ou Symfony (symfony serve) s’appuient sur lui.

Thread Safe ou Non Thread Safe ?

Non Thread Safe (NTS) pour la ligne de commande, le serveur intégré et la grande majorité des usages. Thread Safe uniquement si tu charges PHP comme module dans Apache (mod_php).

Composer est-il obligatoire ?

Techniquement non, mais en pratique oui : tous les frameworks modernes et la quasi-totalité des librairies PHP s’installent avec Composer. C’est l’outil standard de l’écosystème depuis plus de dix ans.

Conclusion

Tu sais maintenant installer PHP 8.4 sous Windows proprement : les bonnes bibliothèques Microsoft, la variante NTS x64, le PATH, un php.ini configuré avec les extensions essentielles, le serveur intégré pour tester et Composer pour gérer tes dépendances. Un environnement léger, que tu maîtrises de bout en bout.

Prochaine étape : versionner ton projet avec Git. Notre guide Git et GitHub pour débutant te montre comment configurer ton poste en 15 minutes. Et pour mettre en pratique PHP sur un vrai projet, découvre notre tutoriel d’application de vote électronique en PHP et MySQL. La documentation officielle d’installation sous Windows est disponible sur php.net.

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

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