Kort sagt: PHP:s historia börjar 1994 med Rasmus Lerdorf, som kallade CGI-program skrivna i C för sin privata webbplats för ”Personal Home Page Tools”. 1998 kom PHP 3, år 2000 PHP 4 med Zend Engine, 2004 PHP 5, 2015 PHP 7 och 2020 PHP 8. I dag kommer en ny version varje år i november, och den underhålls i fyra år.
Hur PHP uppstod: Personal Home Page Tools (1994 till 1997)
Enligt PHP-manualen skrev Rasmus Lerdorf 1994 en rad CGI-program i C. Ursprungligen skulle de bara registrera besök på hans onlinemeritförteckning. Han kallade samlingen ”Personal Home Page Tools” och publicerade källkoden i juni 1995. Därmed kunde också andra använda och förbättra verktygen.
I september 1995 utökade Lerdorf verktygen och kallade dem tillfälligt ”FI” (Forms Interpreter). I oktober 1995 följde en fullständig nyskrivning, åter under namnet PHP. I april 1996 förenade han de båda namnen till PHP/FI. Den versionen fick i juni 1996 status som version 2.0 och lämnade betafasen i november 1997.
Redan den tidiga fasen präglar PHP än i dag: ett språk som uppstod ur ett praktiskt behov, snabbt ger resultat och vidareutvecklas av en öppen gemenskap.
PHP 3 och Zend Engine (1997 till 2004)
1997 började Andi Gutmans och Zeev Suraski från Tel Aviv skriva om parsern, alltså den del som läser in och delar upp källkoden. Tillsammans med Lerdorf blev det ett nytt språk som bara hette ”PHP”. Namnet blev den rekursiva akronymen ”PHP: Hypertext Preprocessor”. PHP 3.0 kom i juni 1998 som efterföljare till PHP/FI 2.0. Viktigast var den goda utbyggbarheten och det första stödet för objektorienterad programmering.
Därefter skrev Gutmans och Suraski om kärnan på nytt. Resultatet blev Zend Engine, uppkallad efter deras förnamn Zeev och Andi. Den presenterades i mitten av 1999. PHP 4.0 kom i maj 2000 och gav bättre prestanda, HTTP-sessioner och utdatabuffring.
I juli 2004 följde PHP 5 med Zend Engine 2.0 och en ny objektmodell. 5-serien förblev länge i bruk och växte med varje underversion. Med PHP 5.3.3 tillkom FastCGI Process Manager (FPM) som eget driftläge, och med PHP 5.5.0 blev bytekodcachen OPcache en del av leveransen.
Det inställda PHP 6 och språnget till PHP 7 (2005 till 2019)
PHP 6 skulle ha fått ett omfattande Unicode-stöd, alltså enhetlig hantering av alla skrivtecken. Enligt manualen övergavs det arbetet. Vissa planerade funktioner flyttades till PHP 5.3 (namnrymder) och PHP 5.4 (traits och den korta array-skrivsättet []). Nästa stora version fick därför numret 7.
PHP 7.0 kom den 3 december 2015 med Zend Engine 3.0. Grunden var projektet PHPNG, en omarbetning av kärnan under ledning av Dmitry Stogov. Det tillhörande RFC-dokumentet, ett formellt ändringsförslag, angav prestandavinster på 20 till 110 procent i verkliga applikationer som WordPress och Drupal. Nya inslag var bland annat null coalescing-operatorn ?? och anonyma klasser.
<?php
// Sedan PHP 7.0: standardvärde utan isset()-kedja
$sprache = $_GET['lang'] ?? 'de';
7-serien slutade med PHP 7.4. Dess sista version, 7.4.33, kom den 3 november 2022; enligt php.net upphörde supporten den 28 november 2022.
PHP 8 och den årliga takten (2020 till i dag)
PHP 8.0 kom den 26 november 2020 med namngivna argument, union-typer, attribut, nullsafe-operatorn ?->, match-uttryck och en JIT-kompilator. Sedan dess följer en ny underversion varje år. Vad varje version har inneburit beskrivs i översikten PHP 8.0 till 8.5.
| Version | Första utgivning | Huvudpunkter |
|---|---|---|
| PHP 3.0 | juni 1998 | ny parser, namnet ”PHP: Hypertext Preprocessor” |
| PHP 4.0 | maj 2000 | Zend Engine, sessioner, utdatabuffring |
| PHP 5.0 | juli 2004 | Zend Engine 2.0, ny objektmodell |
| PHP 7.0 | 3 december 2015 | Zend Engine 3.0, betydligt snabbare |
| PHP 8.0 | 26 november 2020 | JIT, attribut, union-typer |
| PHP 8.1 | 25 november 2021 | enums, fibers, readonly-egenskaper |
| PHP 8.2 | 8 december 2022 | readonly-klasser, DNF-typer |
| PHP 8.3 | 23 november 2023 | typade klasskonstanter |
| PHP 8.4 | 21 november 2024 | property hooks, asymmetrisk synlighet |
| PHP 8.5 | 20 november 2025 | pipe-operator, URI-tillägg |
2024 röstade PHP-projektet om en ny releasecykel. Sedan dess får varje versionsgren två års aktivt stöd och två års säkerhetsrättningar, i båda fallen till och med den 31 december. Reglerna i detalj finns under PHP-versioner och releasecykel.
Vad historien betyder för säkerheten i dag
Den långa historien är en styrka eftersom PHP är stabilt och väl dokumenterat. Den är också en belastning: På många servrar körs versioner som installerades för flera år sedan och aldrig byttes ut. PHP 5.6 saknar officiellt stöd sedan den 31 december 2018, PHP 8.0 sedan den 26 november 2023 och PHP 8.1 sedan den 31 december 2025.
PHP2Shell har gjort detta synligt. Enligt facktidningarna berörs nästan alla versioner ända tillbaka till PHP 5.4. Officiella rättningar finns sedan den 21 oktober 2026 bara för grenarna 8.2 till 8.5; för 7.4, 8.0 och 8.1 finns endast minimala backports i källkoden. Den som driver äldre versioner hittar konsekvenserna i guiden PHP end of life: risker med föråldrade versioner.
Anteckna PHP-versionen och datumet då supporten upphör för varje server. Då blir en överraskning ett planerbart datum.
Hur hjälper PHP SOS konkret?
- Hitta gamla rester: Vi kartlägger vilka PHP-generationer som fortfarande körs på era servrar, även på bortglömda system.
- Bedöma risken: Vi visar vilka versioner som får officiella uppdateringar och var det bara finns tillfälliga lösningar.
- Planera migreringen: Med migrering från PHP 8.1 och äldre flyttar vi applikationer till en version med support, testade före bytet.
- Dokumentera: Ni får en översikt med versioner och supportslutdatum för er planering.
Vanliga frågor
Vem uppfann PHP?
PHP går tillbaka på Rasmus Lerdorf. Han skrev 1994 en samling CGI-program i C som han kallade Personal Home Page Tools. Från 1997 skrev Andi Gutmans och Zeev Suraski om parsern, och därav blev PHP 3.
Vad står förkortningen PHP för?
Ursprungligen för Personal Home Page. Sedan PHP 3 är namnet en rekursiv akronym: PHP: Hypertext Preprocessor. Förkortningen innehåller alltså sig själv.
Varför fanns det aldrig något PHP 6?
PHP 6 skulle ha fått ett omfattande Unicode-stöd. Enligt PHP-manualen övergavs det arbetet. Vissa planerade funktioner kom i PHP 5.3 och 5.4, och nästa stora version fick numret PHP 7.
Sedan när finns PHP-FPM och OPcache?
PHP-FPM togs med som egen SAPI i PHP 5.3.3. OPcache ingår enligt manualen sedan PHP 5.5.0 och fanns dessförinnan via PECL för versionerna 5.2 till 5.4.