En bref : l'histoire de PHP commence en 1994 avec Rasmus Lerdorf, qui désigne sous le nom de « Personal Home Page Tools » des programmes CGI écrits en C pour son site personnel. PHP 3 paraît en 1998, PHP 4 avec la Zend Engine en 2000, PHP 5 en 2004, PHP 7 en 2015 et PHP 8 en 2020. Aujourd'hui, une nouvelle version sort chaque année en novembre et est maintenue pendant quatre ans.
Comment PHP est né : les Personal Home Page Tools (1994 à 1997)
Selon le manuel PHP, Rasmus Lerdorf a écrit en 1994 une série de programmes CGI en C. À l'origine, ils devaient seulement enregistrer les visites de son CV en ligne. Il a appelé cet ensemble « Personal Home Page Tools » et a publié le code source en juin 1995. D'autres pouvaient ainsi utiliser et améliorer ces outils.
En septembre 1995, Lerdorf a étendu les outils et les a provisoirement nommés « FI » (Forms Interpreter). En octobre 1995 est venue une refonte complète, de nouveau sous le nom de PHP. En avril 1996, il a réuni les deux noms en PHP/FI. Cette version a reçu en juin 1996 le statut de version 2.0 et a quitté la phase bêta en novembre 1997.
Cette première période marque PHP encore aujourd'hui : un langage né d'un besoin pratique, qui donne vite des résultats et qu'une communauté ouverte fait évoluer.
PHP 3 et la Zend Engine (1997 à 2004)
En 1997, Andi Gutmans et Zeev Suraski, de Tel Aviv, ont commencé à réécrire l'analyseur syntaxique, c'est-à-dire la partie qui lit et décompose le code source. Avec Lerdorf, il en est sorti un nouveau langage qui s'appelait simplement « PHP ». Le nom est devenu l'acronyme récursif « PHP: Hypertext Preprocessor ». PHP 3.0 est paru en juin 1998 comme successeur de PHP/FI 2.0. Sa bonne extensibilité et une première prise en charge de la programmation orientée objet étaient particulièrement importantes.
Gutmans et Suraski ont ensuite réécrit le noyau une nouvelle fois. Le résultat est la Zend Engine, nommée d'après leurs prénoms, Zeev et Andi. Elle a été présentée à la mi-1999. PHP 4.0 est paru en mai 2000 et a apporté de meilleures performances, les sessions HTTP et la mise en tampon de sortie.
En juillet 2004 est arrivé PHP 5 avec la Zend Engine 2.0 et un nouveau modèle objet. La série 5 est restée longtemps en service et s'est enrichie à chaque sous-version. Avec PHP 5.3.3, le FastCGI Process Manager (FPM) a été ajouté comme mode d'exécution à part entière ; avec PHP 5.5.0, le cache de bytecode OPcache a été intégré à la distribution.
Le PHP 6 abandonné et le saut vers PHP 7 (2005 à 2019)
PHP 6 devait apporter une prise en charge approfondie d'Unicode, c'est-à-dire le traitement uniforme de tous les caractères. Selon le manuel, ce travail a été abandonné. Quelques fonctionnalités prévues ont migré vers PHP 5.3 (espaces de noms) et PHP 5.4 (traits et notation courte des tableaux []). La grande version suivante a donc reçu le numéro 7.
PHP 7.0 est paru le 3 décembre 2015 avec la Zend Engine 3.0. La base en était le projet PHPNG, une refonte du noyau dirigée par Dmitry Stogov. Le RFC correspondant, une proposition de modification formelle, faisait état de gains de performance de 20 à 110 pour cent dans des applications réelles comme WordPress et Drupal. Parmi les nouveautés figuraient l'opérateur de coalescence nulle ?? et les classes anonymes.
<?php
// Depuis PHP 7.0 : valeur par défaut sans enchaînement de isset()
$sprache = $_GET['lang'] ?? 'de';
La série 7 s'est terminée avec PHP 7.4. Sa dernière version, 7.4.33, est parue le 3 novembre 2022 ; selon php.net, le support a pris fin le 28 novembre 2022.
PHP 8 et le rythme annuel (2020 à aujourd'hui)
PHP 8.0 est paru le 26 novembre 2020 avec les arguments nommés, les types union, les attributs, l'opérateur nullsafe ?->, les expressions match et un compilateur JIT. Depuis, une nouvelle sous-version sort chaque année. Ce que chaque version a apporté est décrit dans l'aperçu PHP 8.0 à 8.5.
| Version | Première publication | Points clés |
|---|---|---|
| PHP 3.0 | juin 1998 | nouvel analyseur syntaxique, nom « PHP: Hypertext Preprocessor » |
| PHP 4.0 | mai 2000 | Zend Engine, sessions, mise en tampon de sortie |
| PHP 5.0 | juillet 2004 | Zend Engine 2.0, nouveau modèle objet |
| PHP 7.0 | 3 décembre 2015 | Zend Engine 3.0, nettement plus rapide |
| PHP 8.0 | 26 novembre 2020 | JIT, attributs, types union |
| PHP 8.1 | 25 novembre 2021 | énumérations, Fibers, propriétés readonly |
| PHP 8.2 | 8 décembre 2022 | classes readonly, types DNF |
| PHP 8.3 | 23 novembre 2023 | constantes de classe typées |
| PHP 8.4 | 21 novembre 2024 | property hooks, visibilité asymétrique |
| PHP 8.5 | 20 novembre 2025 | opérateur pipe, extension URI |
En 2024, le projet PHP a voté un nouveau cycle de publication. Depuis, chaque branche de version bénéficie de deux ans de support actif et de deux ans de correctifs de sécurité, chaque fois jusqu'au 31 décembre. Les règles détaillées figurent sous Versions de PHP et cycle de publication.
Ce que cette histoire signifie aujourd'hui pour la sécurité
Cette longue histoire est une force, car PHP est stable et bien documenté. C'est aussi un fardeau : sur de nombreux serveurs tournent des versions installées il y a des années et jamais remplacées. PHP 5.6 n'est plus officiellement pris en charge depuis le 31 décembre 2018, PHP 8.0 depuis le 26 novembre 2023, PHP 8.1 depuis le 31 décembre 2025.
PHP2Shell l'a rendu visible. Selon la presse spécialisée, presque toutes les versions jusqu'à PHP 5.4 sont concernées. Depuis le 21 octobre 2026, il n'existe de correctifs officiels que pour les branches 8.2 à 8.5 ; pour 7.4, 8.0 et 8.1, il n'existe que des rétroportages minimaux du code source. Celui qui exploite des versions plus anciennes trouvera les conséquences dans le guide PHP en fin de vie : risques des versions obsolètes.
Notez pour chaque serveur la version de PHP et la date à laquelle son support prend fin. Une surprise devient ainsi une échéance planifiable.
Comment PHP SOS aide-t-il concrètement ?
- Trouver l'héritage du passé : nous recensons quelles générations de PHP tournent encore sur vos serveurs, y compris sur des systèmes oubliés.
- Évaluer le risque : nous montrons quelles versions reçoivent des mises à jour officielles et où il ne reste que des solutions provisoires.
- Planifier la migration : avec la migration de PHP 8.1 et des versions antérieures, nous amenons les applications vers une version prise en charge, testée avant le passage.
- Documenter : vous recevez un aperçu avec les versions et les dates de fin de support pour votre planification.
Questions fréquentes
Qui a inventé PHP ?
PHP remonte à Rasmus Lerdorf. En 1994, il a écrit en C un ensemble de programmes CGI qu'il a appelés Personal Home Page Tools. À partir de 1997, Andi Gutmans et Zeev Suraski ont réécrit l'analyseur syntaxique, d'où est né PHP 3.
Que signifie l'abréviation PHP ?
À l'origine, Personal Home Page. Depuis PHP 3, le nom est un acronyme récursif : PHP: Hypertext Preprocessor. L'abréviation se contient donc elle-même.
Pourquoi n'y a-t-il pas eu de PHP 6 ?
PHP 6 devait apporter une prise en charge approfondie d'Unicode. Selon le manuel PHP, ce travail a été abandonné. Quelques fonctionnalités prévues sont arrivées dans PHP 5.3 et 5.4, et la grande version suivante s'est appelée PHP 7.
Depuis quand existent PHP-FPM et OPcache ?
PHP-FPM a été intégré avec PHP 5.3.3 comme SAPI à part entière. Selon le manuel, OPcache fait partie de la distribution depuis PHP 5.5.0 ; auparavant, il était disponible via PECL pour les versions 5.2 à 5.4.