Fil-qosor: L-istorja ta' PHP tibda fl-1994 ma' Rasmus Lerdorf, li sejjaħ „Personal Home Page Tools“ il-programmi CGI miktuba bl-C għall-websajt privata tiegħu. Fl-1998 ħarġet PHP 3, fl-2000 PHP 4 biz-Zend Engine, fl-2004 PHP 5, fl-2015 PHP 7 u fl-2020 PHP 8. Illum, kull sena f'Novembru toħroġ verżjoni ġdida li tinżamm għal erba' snin.
Kif twieldet PHP: Personal Home Page Tools (1994 sa 1997)
Skont il-manwal ta' PHP, Rasmus Lerdorf kiteb fl-1994 sensiela ta' programmi CGI bl-C. Oriġinarjament kellhom biss jirreġistraw iż-żjarat tal-CV online tiegħu. Sejjaħ il-ġabra „Personal Home Page Tools“ u ppubblika l-kodiċi sors f'Ġunju 1995. B'hekk anki oħrajn setgħu jużaw u jtejbu l-għodod.
F'Settembru 1995 Lerdorf wessa' l-għodod u sejjaħlilhom temporanjament „FI“ (Forms Interpreter). F'Ottubru 1995 ġiet verżjoni kompletament miktuba mill-ġdid, għal darb'oħra bl-isem PHP. F'April 1996 għaqqad iż-żewġ ismijiet f'PHP/FI. Din il-verżjoni kisbet l-istatus ta' verżjoni 2.0 f'Ġunju 1996 u ħarġet mill-fażi beta f'Novembru 1997.
Anki din il-fażi bikrija ħalliet marka li tidher sal-lum: lingwa li twieldet minn ħtiġija prattika, tagħti riżultati malajr u tiġi żviluppata minn komunità miftuħa.
PHP 3 u z-Zend Engine (1997 sa 2004)
Fl-1997 Andi Gutmans u Zeev Suraski minn Tel Aviv bdew jerġgħu jiktbu l-parser, jiġifieri l-parti li taqra l-kodiċi sors u tfarrakh f'partijiet. Flimkien ma' Lerdorf, minn hemm ħarġet lingwa ġdida li issa kienet tissejjaħ sempliċement „PHP“. L-isem sar l-akronimu rikorsiv „PHP: Hypertext Preprocessor“. PHP 3.0 ħarġet f'Ġunju 1998 bħala suċċessur ta' PHP/FI 2.0. Importanti kienu fuq kollox l-estensibbiltà tajba u l-ewwel appoġġ għall-programmar orjentat lejn l-oġġetti.
Wara dan Gutmans u Suraski reġgħu kitbu l-qalba. Ir-riżultat kien iz-Zend Engine, imsemmija wara l-ismijiet tagħhom Zeev u Andi. Ġiet ippreżentata f'nofs l-1999. PHP 4.0 ħarġet f'Mejju 2000 u ġabet prestazzjoni aħjar, sessjonijiet HTTP u buffering tal-output.
F'Lulju 2004 imbagħad ġiet PHP 5 biz-Zend Engine 2.0 u mudell ġdid tal-oġġetti. Is-serje 5 baqgħet fl-użu għal żmien twil u kibret ma' kull sottoverżjoni. Ma' PHP 5.3.3 daħal il-FastCGI Process Manager (FPM) bħala modalità separata tat-tħaddim, u ma' PHP 5.5.0 il-cache tal-bytecode OPcache saret parti mill-pakkett.
PHP 6 li ma ħarġitx u l-qabża għal PHP 7 (2005 sa 2019)
PHP 6 kellha ġġib appoġġ profond għal Unicode, jiġifieri pproċessar uniformi tal-karattri kollha tal-kitba. Skont il-manwal, dan ix-xogħol ġie abbandunat. Xi funzjonijiet ippjanati marru f'PHP 5.3 (namespaces) u PHP 5.4 (traits u n-notazzjoni qasira tal-arrays []). Il-verżjoni l-kbira li ġiet warajhom għalhekk irċiviet in-numru 7.
PHP 7.0 ħarġet fit-3 ta' Diċembru 2015 biz-Zend Engine 3.0. Il-bażi kien il-proġett PHPNG, reviżjoni tal-qalba taħt it-tmexxija ta' Dmitry Stogov. L-RFC relatat, proposta formali ta' bidla, semma qligħ fil-prestazzjoni ta' 20 sa 110 fil-mija f'applikazzjonijiet reali bħal WordPress u Drupal. Fost il-ġodda kien hemm l-operatur null coalescing ?? u klassijiet anonimi.
<?php
// Minn PHP 7.0: valur awtomatiku mingħajr sensiela ta' isset()
$sprache = $_GET['lang'] ?? 'de';
Is-serje 7 spiċċat b'PHP 7.4. L-aħħar verżjoni tagħha, 7.4.33, ħarġet fit-3 ta' Novembru 2022; skont php.net, l-appoġġ intemm fit-28 ta' Novembru 2022.
PHP 8 u r-ritmu annwali (2020 sa llum)
PHP 8.0 ħarġet fis-26 ta' Novembru 2020 b'argumenti msemmija, tipi union, attributi, l-operatur nullsafe ?->, espressjonijiet match u kompilatur JIT. Minn dak iż-żmien kull sena toħroġ sottoverżjoni ġdida. X'ġabet kull verżjoni tiddeskrivi l-ħarsa ġenerali PHP 8.0 sa 8.5.
| Verżjoni | L-ewwel pubblikazzjoni | Punti ewlenin |
|---|---|---|
| PHP 3.0 | Ġunju 1998 | parser ġdid, isem „PHP: Hypertext Preprocessor“ |
| PHP 4.0 | Mejju 2000 | Zend Engine, sessjonijiet, buffering tal-output |
| PHP 5.0 | Lulju 2004 | Zend Engine 2.0, mudell ġdid tal-oġġetti |
| PHP 7.0 | 3 ta' Diċembru 2015 | Zend Engine 3.0, ferm aktar mgħaġġla |
| PHP 8.0 | 26 ta' Novembru 2020 | JIT, attributi, tipi union |
| PHP 8.1 | 25 ta' Novembru 2021 | enums, fibers, proprjetajiet readonly |
| PHP 8.2 | 8 ta' Diċembru 2022 | klassijiet readonly, tipi DNF |
| PHP 8.3 | 23 ta' Novembru 2023 | kostanti tal-klassijiet bit-tipi |
| PHP 8.4 | 21 ta' Novembru 2024 | property hooks, viżibbiltà asimmetrika |
| PHP 8.5 | 20 ta' Novembru 2025 | operatur pipe, estensjoni URI |
Fl-2024 il-proġett PHP vvota dwar ċiklu ġdid tar-rilaxx. Minn dak iż-żmien kull fergħa ta' verżjoni tirċievi sentejn ta' appoġġ attiv u sentejn ta' korrezzjonijiet tas-sigurtà, f'kull każ sal-31 ta' Diċembru. Ir-regoli fid-dettall jinsabu taħt Verżjonijiet ta' PHP u ċiklu tar-rilaxx.
X'tfisser l-istorja għas-sigurtà llum
L-istorja twila hija qawwa, għax PHP hija stabbli u dokumentata tajjeb. Iżda hija wkoll piż: fuq ħafna servers jaħdmu verżjonijiet li ġew installati snin ilu u qatt ma ġew sostitwiti. PHP 5.6 mhijiex appoġġjata uffiċjalment mill-31 ta' Diċembru 2018, PHP 8.0 mis-26 ta' Novembru 2023, PHP 8.1 mill-31 ta' Diċembru 2025.
PHP2Shell għamlet dan viżibbli. Skont l-istampa speċjalizzata, huma affettwati kważi l-verżjonijiet kollha sa PHP 5.4. Korrezzjonijiet uffiċjali jeżistu mill-21 ta' Ottubru 2026 biss għall-fergħat 8.2 sa 8.5; għal 7.4, 8.0 u 8.1 jeżistu biss backports minimi tal-kodiċi sors. Min jopera verżjonijiet eqdem isib il-konsegwenzi fil-gwida PHP End-of-Life: Riskji ta' verżjonijiet skaduti.
Innotaw għal kull server il-verżjoni ta' PHP u d-data meta jintemm l-appoġġ tagħha. B'hekk sorpriża ssir skadenza li tista' tiġi ppjanata.
Kif jgħin PHP SOS konkretament?
- Insibu l-wirt qadim: Niddeterminaw liema ġenerazzjonijiet ta' PHP għadhom jaħdmu fuq is-servers tagħkom, anki fuq sistemi minsija.
- Nikklassifikaw ir-riskju: Nuruk liema verżjonijiet jirċievu aġġornamenti uffiċjali u fejn jibqgħu biss soluzzjonijiet temporanji.
- Nippjanaw il-migrazzjoni: Bil-migrazzjoni minn PHP 8.1 u eqdem inġibu l-applikazzjonijiet fuq verżjoni appoġġjata, ittestjati qabel it-tibdil.
- Niddokumentaw: Tirċievu ħarsa ġenerali bil-verżjonijiet u d-dati tat-tmiem tal-appoġġ għall-ippjanar tagħkom.
Mistoqsijiet frekwenti
Min ivvinta PHP?
PHP tmur lura għal Rasmus Lerdorf. Fl-1994 huwa kiteb ġabra ta' programmi CGI bl-C li sejjaħlilhom Personal Home Page Tools. Mill-1997 'l quddiem Andi Gutmans u Zeev Suraski reġgħu kitbu l-parser, u minn hemm ħarġet PHP 3.
X'tfisser l-abbrevjazzjoni PHP?
Oriġinarjament Personal Home Page. Minn PHP 3 'l quddiem l-isem huwa akronimu rikorsiv: PHP: Hypertext Preprocessor. L-abbrevjazzjoni għalhekk tinkludi lilha nnifisha.
Għaliex ma kienx hemm PHP 6?
PHP 6 kellha ġġib appoġġ profond għal Unicode. Skont il-manwal ta' PHP, dan ix-xogħol ġie abbandunat. Xi funzjonijiet ippjanati daħlu f'PHP 5.3 u 5.4, u l-verżjoni l-kbira li ġiet warajhom saret PHP 7.
Minn meta teżisti PHP-FPM u OPcache?
PHP-FPM ġiet inkluża ma' PHP 5.3.3 bħala SAPI separata. OPcache, skont il-manwal, hija parti mill-pakkett minn PHP 5.5.0 'l quddiem u qabel kienet tinkiseb permezz ta' PECL għall-verżjonijiet 5.2 sa 5.4.