Kort gezegd: De geschiedenis van PHP begint in 1994 met Rasmus Lerdorf, die in C geschreven CGI-programma's voor zijn privéwebsite „Personal Home Page Tools” noemde. In 1998 verscheen PHP 3, in 2000 PHP 4 met de Zend Engine, in 2004 PHP 5, in 2015 PHP 7 en in 2020 PHP 8. Tegenwoordig verschijnt elk jaar in november een nieuwe versie, die vier jaar wordt onderhouden.
Hoe PHP ontstond: Personal Home Page Tools (1994 tot 1997)
Volgens de PHP-handleiding schreef Rasmus Lerdorf in 1994 een reeks CGI-programma's in C. Aanvankelijk waren ze alleen bedoeld om bezoeken aan zijn online cv bij te houden. Hij noemde de verzameling „Personal Home Page Tools” en publiceerde de broncode in juni 1995. Daardoor konden ook anderen de hulpmiddelen gebruiken en verbeteren.
In september 1995 breidde Lerdorf de hulpmiddelen uit en noemde ze tijdelijk „FI” (Forms Interpreter). In oktober 1995 volgde een complete herschrijving, weer onder de naam PHP. In april 1996 voegde hij beide namen samen tot PHP/FI. Deze versie kreeg in juni 1996 de status versie 2.0 en verliet in november 1997 de bètafase.
Al deze vroege fase heeft PHP tot op de dag van vandaag gekleurd: een taal die uit een praktische behoefte ontstond, snel resultaten oplevert en door een open gemeenschap wordt doorontwikkeld.
PHP 3 en de Zend Engine (1997 tot 2004)
In 1997 begonnen Andi Gutmans en Zeev Suraski uit Tel Aviv de parser te herschrijven, dus het onderdeel dat de broncode inleest en ontleedt. Samen met Lerdorf ontstond daaruit een nieuwe taal die nog slechts „PHP” heette. De naam werd het recursieve acroniem „PHP: Hypertext Preprocessor”. PHP 3.0 verscheen in juni 1998 als opvolger van PHP/FI 2.0. Belangrijk waren vooral de goede uitbreidbaarheid en de eerste ondersteuning voor objectgeoriënteerd programmeren.
Daarna herschreven Gutmans en Suraski de kern opnieuw. Het resultaat was de Zend Engine, genoemd naar hun voornamen Zeev en Andi. Ze werd medio 1999 gepresenteerd. PHP 4.0 verscheen in mei 2000 en bracht betere prestaties, HTTP-sessies en uitvoerbuffering.
In juli 2004 volgde PHP 5 met de Zend Engine 2.0 en een nieuw objectmodel. De 5-reeks bleef lang in gebruik en groeide met elke subversie. Met PHP 5.3.3 kwam de FastCGI Process Manager (FPM) als eigen uitvoeringsmodus erbij, met PHP 5.5.0 werd de bytecodecache OPcache onderdeel van de standaardlevering.
Het uitgebleven PHP 6 en de sprong naar PHP 7 (2005 tot 2019)
PHP 6 moest uitgebreide Unicode-ondersteuning brengen, dus de uniforme verwerking van alle schrifttekens. Volgens de handleiding is dat werk gestaakt. Enkele geplande functies verhuisden naar PHP 5.3 (namespaces) en PHP 5.4 (traits en de korte arraynotatie []). De volgende grote versie kreeg daarom het nummer 7.
PHP 7.0 verscheen op 3 december 2015 met de Zend Engine 3.0. De basis was het project PHPNG, een herziening van de kern onder leiding van Dmitry Stogov. De bijbehorende RFC, een formeel wijzigingsvoorstel, noemde prestatiewinsten van 20 tot 110 procent in echte toepassingen zoals WordPress en Drupal. Nieuw waren onder meer de null-coalescing-operator ?? en anonieme klassen.
<?php
// Sinds PHP 7.0: standaardwaarde zonder isset()-keten
$sprache = $_GET['lang'] ?? 'de';
De 7-reeks eindigde met PHP 7.4. De laatste versie daarvan, 7.4.33, verscheen op 3 november 2022; volgens php.net eindigde de ondersteuning op 28 november 2022.
PHP 8 en het jaarlijkse ritme (2020 tot nu)
PHP 8.0 verscheen op 26 november 2020 met benoemde argumenten, uniontypen, attributen, de nullsafe-operator ?->, match-expressies en een JIT-compiler. Sindsdien volgt elk jaar een nieuwe subversie. Wat elke versie heeft gebracht, beschrijft het overzicht PHP 8.0 tot 8.5.
| Versie | Eerste publicatie | Kernpunten |
|---|---|---|
| PHP 3.0 | juni 1998 | nieuwe parser, naam „PHP: Hypertext Preprocessor” |
| PHP 4.0 | mei 2000 | Zend Engine, sessies, uitvoerbuffering |
| PHP 5.0 | juli 2004 | Zend Engine 2.0, nieuw objectmodel |
| PHP 7.0 | 3 december 2015 | Zend Engine 3.0, duidelijk sneller |
| PHP 8.0 | 26 november 2020 | JIT, attributen, uniontypen |
| PHP 8.1 | 25 november 2021 | enums, fibers, readonly-eigenschappen |
| PHP 8.2 | 8 december 2022 | readonly-klassen, DNF-typen |
| PHP 8.3 | 23 november 2023 | getypeerde klasseconstanten |
| PHP 8.4 | 21 november 2024 | property hooks, asymmetrische zichtbaarheid |
| PHP 8.5 | 20 november 2025 | pipe-operator, URI-extensie |
In 2024 stemde het PHP-project over een nieuwe releasecyclus. Sindsdien krijgt elke versietak twee jaar actieve ondersteuning en twee jaar beveiligingscorrecties, telkens tot 31 december. De regels in detail staan onder PHP-versies en releasecyclus.
Wat de geschiedenis nu voor de beveiliging betekent
De lange geschiedenis is een sterkte, omdat PHP stabiel en goed gedocumenteerd is. Ze is ook een last: op veel servers draaien versies die jaren geleden zijn ingericht en nooit zijn vervangen. PHP 5.6 heeft sinds 31 december 2018 geen officiële ondersteuning meer, PHP 8.0 sinds 26 november 2023, PHP 8.1 sinds 31 december 2025.
PHP2Shell heeft dat zichtbaar gemaakt. Volgens vakpers zijn bijna alle versies tot en met PHP 5.4 getroffen. Officiële correcties zijn er sinds 21 oktober 2026 alleen voor de takken 8.2 tot en met 8.5; voor 7.4, 8.0 en 8.1 bestaan slechts minimale backports van de broncode. Wie oudere versies exploiteert, vindt de gevolgen in de gids PHP-end-of-life: risico's van verouderde versies.
Noteer voor elke server de PHP-versie en de datum waarop de ondersteuning eindigt. Zo wordt een verrassing een planbare datum.
Hoe helpt PHP SOS concreet?
- Oude lasten vinden: Wij stellen vast welke PHP-generaties nog op uw servers draaien, ook op vergeten systemen.
- Risico inschatten: Wij laten zien welke versies officiële updates krijgen en waar alleen tussenoplossingen overblijven.
- Migratie plannen: Met de migratie van PHP 8.1 en ouder brengen wij toepassingen naar een ondersteunde versie, getest vóór de overstap.
- Documenteren: U ontvangt een overzicht met versies en einddata van de ondersteuning voor uw planning.
Veelgestelde vragen
Wie heeft PHP uitgevonden?
PHP gaat terug op Rasmus Lerdorf. Hij schreef in 1994 een verzameling CGI-programma's in C, die hij Personal Home Page Tools noemde. Vanaf 1997 herschreven Andi Gutmans en Zeev Suraski de parser, waaruit PHP 3 ontstond.
Waar staat de afkorting PHP voor?
Oorspronkelijk voor Personal Home Page. Sinds PHP 3 is de naam een recursief acroniem: PHP: Hypertext Preprocessor. De afkorting bevat dus zichzelf.
Waarom was er geen PHP 6?
PHP 6 moest uitgebreide Unicode-ondersteuning brengen. Volgens de PHP-handleiding is dat werk gestaakt. Enkele geplande functies kwamen in PHP 5.3 en 5.4, de volgende grote versie heette daarna PHP 7.
Sinds wanneer bestaan PHP-FPM en OPcache?
PHP-FPM werd met PHP 5.3.3 als eigen SAPI opgenomen. OPcache hoort volgens de handleiding sinds PHP 5.5.0 bij de standaardlevering en was daarvoor voor de versies 5.2 tot en met 5.4 via PECL verkrijgbaar.