PHP powstał w 1994 roku jako zestaw skryptów Rasmusa Lerdorfa do śledzenia odwiedzin jego strony z CV, a dziś jest pełnoprawnym językiem backendu w wersji 8.x. Najważniejsze kamienie milowe to PHP 3 (1998), PHP 4 z silnikiem Zend (2000), PHP 5 z modelem obiektowym (2004), PHP 7 (2015) i PHP 8 (2020). Wersji 6 nie wydano, bo prace nad pełnym wsparciem Unicode porzucono w 2010 roku.
Większość języków ma jedną historię: ktoś je zaprojektował i rozwijał. PHP miał ich kilka, bo kilka razy był przepisywany od zera. Poniżej przechodzimy przez wszystkie wersje po kolei, a szczegóły ostatnich dwóch dużych wydań znajdziesz w osobnych artykułach.
Jak powstał PHP i czym było PHP/FI?
Według oficjalnej dokumentacji PHP stworzył w 1994 roku Rasmus Lerdorf. Pierwsza wersja to zestaw programów CGI napisanych w C, których używał do śledzenia odwiedzin swojego CV online. Nazwał je „Personal Home Page Tools”, stąd skrót PHP.
W czerwcu 1995 roku Lerdorf udostępnił kod publicznie. We wrześniu tego roku pojawiła się wersja nazwana FI (od „Forms Interpreter”), która potrafiła już automatycznie interpretować zmienne z formularzy i osadzać kod w HTML-u. W kwietniu 1996 roku połączone nazwy dały PHP/FI, a w czerwcu tego roku wersja dostała numer 2.0. Według dokumentacji w maju 1998 roku około 60 tysięcy domen (mniej więcej 1% wszystkich) zgłaszało obecność PHP w nagłówkach.
Rozwijał go jednak głównie jeden człowiek, więc projekt miał ograniczenia.
Czym był PHP 3 i skąd wzięła się nazwa PHP: Hypertext Preprocessor?
W 1997 roku Andi Gutmans i Zeev Suraski z Tel Awiwu, którzy potrzebowali mocniejszego narzędzia do aplikacji e-commerce, zaczęli przepisywać parser. Razem z Lerdorfem postanowili stworzyć nowy, niezależny język. Dostał nazwę PHP, rozwijaną jako rekurencyjny skrót „PHP: Hypertext Preprocessor”, bez sugestii, że to projekt do użytku osobistego.
PHP 3.0 ogłoszono w czerwcu 1998 roku. To pierwsza wersja, która przypomina dzisiejszy PHP: miała wsparcie dla wielu baz danych, mocny system rozszerzeń i podstawy programowania obiektowego. Według dokumentacji w szczytowym momencie była zainstalowana na około 10% serwerów WWW na świecie.
Co przyniósł PHP 4?
Gutmans i Suraski już w 1998 roku zaczęli przepisywać rdzeń, bo PHP 3 słabo radził sobie ze złożonymi aplikacjami. Nowy silnik nazwali Zend Engine, od pierwszych liter ich imion (Zeev i Andi). PHP 4.0 wydano w maju 2000 roku. Poprawiał wydajność i dodał m.in. sesje HTTP, buforowanie wyjścia i obsługę większej liczby serwerów WWW.
Dlaczego PHP 5 był przełomem?
PHP 5.0 wyszedł 13 lipca 2004 roku, a opierał się na Zend Engine 2.0 z nowym modelem obiektowym. To wtedy PHP stał się językiem, w którym programowanie obiektowe było praktyczne. Przez kolejne lata dochodziły ważne funkcje:
| Wersja | Premiera | Najważniejsze zmiany |
|---|---|---|
| 5.0 | 13 lipca 2004 | nowy model obiektowy (Zend Engine 2.0) |
| 5.3 | 30 czerwca 2009 | przestrzenie nazw (namespaces) |
| 5.4 | 1 marca 2012 | traity, krótka składnia tablic [] |
| 5.6 | 28 sierpnia 2014 | ostatnia wersja z serii 5 |
Wersja 5.6 przestała dostawać poprawki bezpieczeństwa 31 grudnia 2018 roku.
Dlaczego nie było PHP 6?
Planowano ją jako wersję z głębokim wsparciem Unicode w samym silniku i języku. Prace zaczęły się w 2005 roku, a w 2010 roku porzucono je z powodu trudności z implementacją Unicode. Część funkcji zaplanowanych dla szóstki trafiła jednak do wersji 5.x: namespaces do 5.3, a traity i krótka składnia tablic do 5.4.
Kiedy rozpoczęły się prace nad kolejną wersją, zespół PHP przeprowadził głosowanie nad jej nazwą. Argument za siódemką był prosty: istnieją książki i materiały o „PHP 6”, które opisują porzucony projekt, więc użycie tej samej nazwy dla nowej wersji mogłoby wprowadzać w błąd. Wybrano numer 7.
Co zmieniło się w PHP 7?
PHP 7.0 wyszedł 3 grudnia 2015 roku i dostał przepisany rdzeń (Zend Engine 3.0). Według dokumentacji był nawet dwa razy szybszy od PHP 5.6 i zużywał mniej pamięci. Dodał też operator ??, klasy anonimowe, lepszą obsługę wyjątków oraz bezpieczny generator liczb losowych. Kolejne wydania 7.x wprowadziły m.in. typy dopuszczające null (7.1), typ object (7.2) i typowane właściwości (7.4). Pełny opis znajdziesz w artykule o nowościach i zmianach w PHP 7.
Co przyniósł PHP 8?
PHP 8.0 wyszedł 26 listopada 2020 roku i był kolejnym dużym krokiem. Według dokumentacji dodał nazwane argumenty, typy unijne, atrybuty, match, operator nullsafe ?-> i kompilator JIT. W kolejnych latach pojawiły się m.in. enumy (8.1), klasy readonly (8.2) i property hooks (8.4). Najnowsza stabilna wersja to 8.5, wydana 20 listopada 2025 roku. Szczegóły omawiamy w artykule o nowościach i zmianach w PHP 8.
Jak zmieniał się PHP: najważniejsze daty w jednym miejscu
| Rok | Wydarzenie |
|---|---|
| 1994 | Rasmus Lerdorf tworzy pierwsze narzędzia, „Personal Home Page Tools” |
| 1995 | publikacja kodu, wersja PHP/FI |
| 1998 | PHP 3 jako pierwsza wersja zbliżona do dzisiejszej |
| 2000 | PHP 4 z silnikiem Zend |
| 2004 | PHP 5 z nowym modelem obiektowym |
| 2010 | porzucenie prac nad PHP 6 |
| 2015 | PHP 7, przepisany rdzeń |
| 2020 | PHP 8 z JIT, atrybutami i match |
| 2025 | PHP 8.5 |
Co z tej historii wynika dla osoby, która uczy się PHP dzisiaj?
Najważniejszy wniosek: nie ucz się PHP „od początku historii”, tylko od aktualnej wersji. Stary kod, który spotkasz w sieci, często pochodzi z czasów PHP 5 i bywa pełen rozwiązań, których dziś nie stosuje się w nowych projektach. Najlepiej uczyć się na aktualnym PHP, a historię traktować jako kontekst, który pomaga czytać cudzy kod.
Jeśli chcesz nauczyć się nowoczesnego PHP i Laravela pod okiem mentora, zajrzyj do ścieżki PHP.


