Ajankohtainen tilanne: PHP2Shell. Kaksi kriittistä PHP-haavoittuvuutta (CVSS 9.2) sallii haittakoodin suorittamisen ilman kirjautumista. Korjaukset 21.10.2026 alkaen.Mitä nyt on tehtävä →

PHP:n historia: vuodesta 1994 tähän päivään

Yksityisestä työkalusta ansioluettelosivulle monien CMS- ja verkkokauppajärjestelmien perustaksi: PHP:n historian tärkeimmät vaiheet tarkistettuine vuosilukuineen.

Tilanne Lukuaika 4 minPHP-tietoa

Lyhyesti: PHP:n historia alkaa vuonna 1994 Rasmus Lerdorfista, joka nimitti yksityiselle verkkosivustolleen C-kielellä kirjoittamiaan CGI-ohjelmia ”Personal Home Page Tools” -työkaluiksi. Vuonna 1998 ilmestyi PHP 3, vuonna 2000 PHP 4 ja Zend Engine, 2004 PHP 5, 2015 PHP 7 ja 2020 PHP 8. Nykyisin uusi versio ilmestyy joka vuosi marraskuussa, ja sitä huolletaan neljä vuotta.

Miten PHP syntyi: Personal Home Page Tools (1994–1997)

PHP-käsikirjan mukaan Rasmus Lerdorf kirjoitti vuonna 1994 sarjan CGI-ohjelmia C-kielellä. Alun perin niiden piti vain kirjata vierailuja hänen verkossa olevaan ansioluetteloonsa. Hän nimesi kokoelman ”Personal Home Page Tools” -työkaluiksi ja julkaisi lähdekoodin kesäkuussa 1995. Näin muutkin saattoivat käyttää ja parantaa työkaluja.

Syyskuussa 1995 Lerdorf laajensi työkaluja ja kutsui niitä väliaikaisesti nimellä ”FI” (Forms Interpreter). Lokakuussa 1995 seurasi täydellinen uudelleenkirjoitus, jälleen nimellä PHP. Huhtikuussa 1996 hän yhdisti molemmat nimet muotoon PHP/FI. Tämä versio sai kesäkuussa 1996 version 2.0 aseman ja poistui beta-vaiheesta marraskuussa 1997.

Jo tämä varhainen vaihe leimaa PHP:tä yhä: kieli syntyi käytännön tarpeesta, tuottaa nopeasti tuloksia ja sitä kehittää eteenpäin avoin yhteisö.

PHP 3 ja Zend Engine (1997–2004)

Vuonna 1997 Andi Gutmans ja Zeev Suraski Tel Avivista aloittivat jäsentimen eli sen osan uudelleenkirjoittamisen, joka lukee lähdekoodin ja pilkkoo sen osiin. Yhdessä Lerdorfin kanssa siitä syntyi uusi kieli, jonka nimi oli enää vain ”PHP”. Nimestä tuli rekursiivinen lyhenne ”PHP: Hypertext Preprocessor”. PHP 3.0 ilmestyi kesäkuussa 1998 PHP/FI 2.0:n seuraajana. Tärkeintä olivat hyvä laajennettavuus ja ensimmäinen tuki olio-ohjelmoinnille.

Sen jälkeen Gutmans ja Suraski kirjoittivat ytimen uudelleen. Tuloksena oli Zend Engine, joka on nimetty heidän etunimiensä Zeev ja Andi mukaan. Se esiteltiin vuoden 1999 puolivälissä. PHP 4.0 ilmestyi toukokuussa 2000, ja se toi paremman suorituskyvyn, HTTP-istunnot ja tulosteen puskuroinnin.

Heinäkuussa 2004 seurasi PHP 5, jossa oli Zend Engine 2.0 ja uusi olimalli. 5-sarja pysyi pitkään käytössä ja kasvoi jokaisen alaversion myötä. Versiossa PHP 5.3.3 FastCGI Process Manager (FPM) tuli omaksi ajotavakseen, ja versiossa PHP 5.5.0 tavukoodivälimuisti OPcache tuli osaksi toimitusta.

Peruuntunut PHP 6 ja hyppy PHP 7:ään (2005–2019)

PHP 6:n piti tuoda kattava Unicode-tuki eli kaikkien kirjoitusmerkkien yhtenäinen käsittely. Käsikirjan mukaan tämä työ hylättiin. Osa suunnitelluista toiminnoista siirtyi versioihin PHP 5.3 (nimiavaruudet) ja PHP 5.4 (traitit ja lyhyt taulukkokirjoitusasu []). Seuraava suuri versio sai siksi numeron 7.

PHP 7.0 ilmestyi 3. joulukuuta 2015 ja siinä oli Zend Engine 3.0. Perustana oli PHPNG-projekti, ytimen uudistus Dmitry Stogovin johdolla. Siihen liittyvässä RFC:ssä eli muodollisessa muutosehdotuksessa mainittiin 20–110 prosentin suorituskykyhyödyt todellisissa sovelluksissa, kuten WordPressissä ja Drupalissa. Uutta olivat muun muassa null coalescing -operaattori ?? ja anonyymit luokat.

<?php
// PHP 7.0:sta alkaen: oletusarvo ilman isset()-ketjua
$sprache = $_GET['lang'] ?? 'de';

7-sarja päättyi versioon PHP 7.4. Sen viimeinen versio 7.4.33 ilmestyi 3. marraskuuta 2022; php.netin mukaan tuki päättyi 28. marraskuuta 2022.

PHP 8 ja vuosittainen rytmi (2020–tähän päivään)

PHP 8.0 ilmestyi 26. marraskuuta 2020, ja siinä olivat nimetyt argumentit, unionityypit, attribuutit, nullsafe-operaattori ?->, match-lausekkeet ja JIT-kääntäjä. Siitä lähtien joka vuosi on tullut uusi alaversio. Mitä kukin versio on tuonut, kuvaa katsaus PHP 8.0:sta 8.5:een.

Versio Ensijulkaisu Keskeiset asiat
PHP 3.0 kesäkuu 1998 uusi jäsennin, nimi ”PHP: Hypertext Preprocessor”
PHP 4.0 toukokuu 2000 Zend Engine, istunnot, tulosteen puskurointi
PHP 5.0 heinäkuu 2004 Zend Engine 2.0, uusi olimalli
PHP 7.0 3. joulukuuta 2015 Zend Engine 3.0, selvästi nopeampi
PHP 8.0 26. marraskuuta 2020 JIT, attribuutit, unionityypit
PHP 8.1 25. marraskuuta 2021 enumit, fiberit, readonly-ominaisuudet
PHP 8.2 8. joulukuuta 2022 readonly-luokat, DNF-tyypit
PHP 8.3 23. marraskuuta 2023 tyypitetyt luokkavakiot
PHP 8.4 21. marraskuuta 2024 property hooks, asymmetrinen näkyvyys
PHP 8.5 20. marraskuuta 2025 pipe-operaattori, URI-laajennus

Vuonna 2024 PHP-projekti äänesti uudesta julkaisusyklistä. Siitä lähtien jokainen versiohaara saa kaksi vuotta aktiivista tukea ja kaksi vuotta tietoturvakorjauksia, kumpikin 31. joulukuuta asti. Säännöt tarkemmin löytyvät sivulta PHP-versiot ja julkaisusykli.

Mitä historia tarkoittaa tietoturvalle nykyään

Pitkä historia on vahvuus, koska PHP on vakaa ja hyvin dokumentoitu. Se on myös taakka: monilla palvelimilla toimii versioita, jotka on otettu käyttöön vuosia sitten eikä koskaan korvattu. PHP 5.6 on ollut ilman virallista tukea 31. joulukuuta 2018 lähtien, PHP 8.0 26. marraskuuta 2023 lähtien ja PHP 8.1 31. joulukuuta 2025 lähtien.

PHP2Shell on tehnyt tämän näkyväksi. Ammattilehdistön mukaan lähes kaikki versiot aina PHP 5.4:ään asti ovat vaarassa. Viralliset korjaukset on ollut saatavilla 21. lokakuuta 2026 alkaen vain haaroille 8.2–8.5; versioille 7.4, 8.0 ja 8.1 on olemassa ainoastaan vähäisiä lähdekoodin backporteja. Jos käytätte vanhempia versioita, seuraukset löytyvät oppaasta PHP:n End of Life: vanhentuneiden versioiden riskit.

Vinkki

Kirjatkaa jokaisesta palvelimesta PHP-versio ja päivä, jolloin sen tuki päättyy. Näin yllätyksestä tulee suunniteltava määräaika.

Miten PHP SOS auttaa konkreettisesti?

  • Vanhojen jäänteiden löytäminen: Kartoitamme, mitkä PHP-sukupolvet pyörivät yhä palvelimillanne, myös unohdetuilla järjestelmillä.
  • Riskin arviointi: Näytämme, mitkä versiot saavat viralliset päivitykset ja missä jäljellä on vain väliaikaisratkaisuja.
  • Siirtymän suunnittelu: PHP 8.1:n ja sitä vanhempien migraatiolla saatamme sovellukset tuettuun versioon, testattuna ennen siirtymää.
  • Dokumentointi: Saatte yhteenvedon versioista ja tuen päättymispäivistä suunnittelunne tueksi.

Usein kysytyt kysymykset

Kuka keksi PHP:n?

PHP juontuu Rasmus Lerdorfista. Hän kirjoitti vuonna 1994 C-kielellä kokoelman CGI-ohjelmia, joita hän kutsui nimellä Personal Home Page Tools. Vuodesta 1997 alkaen Andi Gutmans ja Zeev Suraski kirjoittivat jäsentimen uudelleen, ja siitä syntyi PHP 3.

Mitä lyhenne PHP tarkoittaa?

Alun perin Personal Home Page. PHP 3:sta lähtien nimi on rekursiivinen lyhenne: PHP: Hypertext Preprocessor. Lyhenne siis sisältää itsensä.

Miksi PHP 6:ta ei ollut?

PHP 6:n piti tuoda kattava Unicode-tuki. PHP-käsikirjan mukaan tämä työ hylättiin. Yksittäisiä suunniteltuja toimintoja tuli versioihin PHP 5.3 ja 5.4, ja seuraavan suuren version numero oli PHP 7.

Mistä lähtien PHP-FPM ja OPcache ovat olleet olemassa?

PHP-FPM otettiin mukaan omaksi SAPI:ksi versiossa PHP 5.3.3. OPcache on käsikirjan mukaan kuulunut toimitukseen versiosta PHP 5.5.0 lähtien, ja sitä ennen se oli saatavilla versioille 5.2–5.4 PECL:n kautta.

Lähteet

Pikayhteys

Jokainen tunti on tärkeä. Kirjoittakaa meille nyt.

Kuvatkaa lyhyesti järjestelmä, PHP-versio ja havainnot. Otamme yhteyttä, selvitämme tilanteen ja työskentelemme etänä, kunnes tapaus on käsitelty loppuun ja dokumentoitu.

Pikaapu