8 modulis · 8.4
PHP versijos ir atnaujinimai
8 modulis: Atsarginės kopijos, bandomoji aplinka (staging) ir PHP atnaujinimai · Skaitymo trukmė: 10 min.
Mokymosi tikslas: po šios pamokos galėsite saugiai pasiruošti PHP atnaujinimui, jį atlikti ir prireikus grąžinti ankstesnę versiją.
Pagrindinės sąvokos: PHP gyvavimo ciklas (aktyvus palaikymas, tik saugumo pataisos, pabaiga), WordPress, temos ir įskiepių suderinamumas, pasenusi funkcija (deprecated), įspėjimas, lemtinga klaida, Tinklalapio būklė, klaidų žurnalas, bandomoji aplinka (staging), atkurti, atnaujinimo užsakymas
Kodėl PHP versijos svarbios
WordPress, Jūsų tema ir įskiepiai parašyti PHP kalba (pamoka 1.2). Kasmet išleidžiama nauja PHP versija (8.3, 8.4, 8.5, ...). Kiekviena versija prižiūrima nustatytą laiką:
- aktyvus palaikymas: dvejus metus taisomos klaidos ir saugumo spragos;
- tik saugumo pataisos: dar dvejus metus taisomos tik saugumo spragos;
- pabaiga (end of life): pataisų nebėra, net ir saugumo spragoms.
Padėtis 2026 m. lapkričio 8 d. pagal php.net:
| Versija | Saugumo atnaujinimai iki | Būsena |
|---|---|---|
| 8.1 ir senesnės | (pasibaigę) | Atnaujinimų nebėra |
| 8.2 | 2026 m. gruodžio 31 d. | Tik saugumo pataisos, netrukus pabaiga |
| 8.3 | 2027 m. gruodžio 31 d. | Tik saugumo pataisos |
| 8.4 | 2028 m. gruodžio 31 d. | Aktyvi |
| 8.5 | 2029 m. gruodžio 31 d. | Aktyvi |
Svetainė, veikianti su versija be atnaujinimų, naudoja programinę įrangą su žinomomis spragomis, kurios nebėra taisomos. Be to, naujesnės versijos yra pastebimai greitesnės (pamoka 6.3). O wordpress.org rekomenduoja PHP 8.3 ar naujesnę versiją (2026 m. lapkričio padėtis). Taigi tikslas yra atnaujinti kasmet, o ne kartą per penkerius metus daryti didelį šuolį.
Kodėl atnaujinimas gali ką nors sugadinti
Kiekviena nauja PHP versija ką nors pakeičia. Funkcijos, kurios jau daug metų buvo pažymėtos kaip pasenusios (deprecated), pašalinamos, o taisyklės tampa griežtesnės. Keli žinomi pavyzdžiai:
- PHP 8.0 pašalino, be kita ko,
create_function()ireach(), o daugelis įspėjimų tapo klaidomis; - PHP 8.2 pažymėjo kaip pasenusį dinaminį savybių kūrimą objektuose, o tai dažnai pasitaiko senesniuose įskiepiuose.
Yra trijų rūšių pranešimai, ir skirtumas tarp jų svarbus:
| Pranešimas | Reikšmė | Pasekmė |
|---|---|---|
| Deprecated (pasenusi) | „Tai dar veikia, bet išnyks kitoje versijoje“ | Nieko matomo; įspėjimas ateičiai |
| Warning arba Notice | Kažkas ne visai taip | Dažniausiai nieko matomo, kartais kuri nors dalis veikia keistai |
| Fatal error | PHP sustoja | Baltas puslapis arba „kritinė klaida“ (pamoka 5.4) |
Pats WordPress dažniausiai gerai prisitaiko prie naujų PHP versijų. Rizika slypi senuose įskiepiuose ir temose, ypač jei jie ilgai nebuvo atnaujinti arba yra sukurti pagal užsakymą.
Kaip sužinoti dabartinę versiją
- WordPress: Įrankiai > Tinklalapio būklė, skirtukas Informacija, skiltyje Serveris: PHP versija. Tinklalapio būklė taip pat įspėja, jei Jūsų versija pasenusi.
- Talpinimo (hostingo) valdymo skydelyje: DirectAdmin su CloudLinux, skiltyje Select PHP version (šalia dabartinės versijos rodoma „(current)“).
- Kartais serveris ją išduoda antraštėje
X-Powered-By: PHP/8.3.x. Geriau to nedaryti (pamoka 7.4), bet jei antraštė yra, versiją pamatysite greitai.
Atkreipkite dėmesį: pas daugelį talpinimo paslaugų teikėjų PHP versija galioja visam planui, taigi visoms jame esančioms svetainėms. Sena svetainė tame pačiame plane gali Jus stabdyti. Tai papildoma priežastis senas svetaines išvalyti arba perkelti į atskirą planą.
Atnaujinimas žingsnis po žingsnio
- Pirmiausia atnaujinkite. Atnaujinkite WordPress, temą ir visus įskiepius dar su dabartine PHP versija. Taip išsprendžiama didelė dalis problemų, nes kūrėjai pritaiko savo kodą naujoms PHP versijoms.
- Pažiūrėkite, ką nurodo Jūsų įskiepiai. Įskiepio puslapyje wordpress.org nurodyta reikalaujama PHP versija; pakeitimų žurnale (changelog) dažnai rašoma „compatible with PHP 8.x“. Įskiepis, kuris nebuvo atnaujintas jau kelerius metus (pamoka 5.3), yra kandidatas pakeisti.
- Sukurkite atsarginę kopiją (pamoka 8.1).
- Išbandykite bandomojoje aplinkoje (staging) (pamoka 8.3). Jei talpinimo paslaugų teikėjas leidžia kiekvienai svetainei nustatyti atskirą PHP versiją, bandomojoje aplinkoje nustatykite naująją. Jei to padaryti negalima (viena versija planui), testuokite bandomojoje aplinkoje kitame plane, lokaliai arba pasirinkite ramų metą gamybinėje svetainėje, turėdami paruoštą senąją versiją, kurią galėtumėte grąžinti.
- Perjunkite: valdymo skydelyje pasirinkite naująją versiją. DirectAdmin su CloudLinux ją pasirenkate skiltyje Select PHP version ir spustelite Apply; be Apply niekas nepasikeis.
- Iš karto patikrinkite: atidarykite svetainę ir peržiūrėkite kelis puslapius, taip pat administravimą, formą ir (jei turite parduotuvę) apmokėjimą. Klaidų žurnale (pamoka 5.4) ieškokite naujų
PHP Fatal erroreilučių. - Plėtiniai ir nustatymai: pas kai kuriuos talpinimo paslaugų teikėjus PHP plėtiniai ir parinktys (pvz.,
memory_limit) priklauso konkrečiai versijai. Po perjungimo patikrinkite, ar naujojoje versijoje jie nustatyti teisingai.
Jei kas nors nepavyksta
- Lemtinga klaida: grąžinkite senąją versiją (pas daugumą talpinimo paslaugų teikėjų tai galima padaryti iš karto), kad svetainė vėl veiktų. Klaidų žurnale suraskite, kuris įskiepis ar tema kalti (kelias nurodytas klaidos pranešime), juos atnaujinkite, pakeiskite arba paprašykite kūrėjo sprendimo. Tada bandykite dar kartą.
- Tik deprecated pranešimai: tai ne priežastis grįžti atgal. Tačiau tai įspėjimas: kitoje versijoje tai gali tapti klaida. Užsirašykite, kuris tai įskiepis.
- Pagal užsakymą sukurtas kodas nebeveikia: sena svetainė, kurią sukūrė svetainių kūrėjas, gali turėti kodo, kurio niekas nebeprižiūri. Tada tą kodą turi pataisyti PHP išmanantis žmogus. Kai kurie talpinimo paslaugų teikėjai, taip pat ir WebOké, siūlo tai padaryti už Jus.
Nepalikite svetainės „visam laikui“ su sena versija vien todėl, kad vienas įskiepis negali prisitaikyti. Tai tik problemos atidėjimas, o ji kasmet didėja.
Daugiau užtikrintumo iš anksto
Norintiems gilintis: naudodami PHP_CodeSniffer su PHPCompatibilityWP taisyklėmis galite patikrinti savo įskiepių ir temų kodą, ar jame nėra dalykų, kurie neveiks naujesnėje PHP versijoje, net nepaleidę svetainės. Taip randama daug, bet ne viskas. Testuoti bandomojoje aplinkoje vis tiek būtina.
Praktikoje: kaip tai atrodo valdymo skydelyje
Kaip pavyzdį naudojame DirectAdmin su CloudLinux. cPanel tai dažnai vadinama MultiPHP Manager arba Select PHP Version, Plesk: PHP Settings.
- Atidarykite Select PHP version (skiltyje Extra Features).
- Spustelėkite versiją ties PHP version, pasirinkite naująją versiją ir spustelėkite Apply.
- Patikrinkite naujosios versijos skirtukus Extensions ir Options.
- Patikrinkite svetainę ir klaidų žurnalą. Jei kas nors neveikia, pasirinkite senąją versiją ir spustelėkite Apply.
Santrauka
- Kiekviena PHP versija gauna dvejus metus aktyvaus palaikymo ir dvejus metus tik saugumo pataisų; po to pataisų nebėra. 2026 m. lapkričio 8 d. versija 8.1 nebegauna nieko, o 8.2 gaus pataisas iki 2026 m. pabaigos.
- Atnaujinimas dažniausiai sugadina senus įskiepius ir temas; deprecated yra įspėjimas, o fatal error sustabdo svetainę.
- Eiliškumas: viską atnaujinti, patikrinti įskiepius, sukurti atsarginę kopiją, išbandyti bandomojoje aplinkoje, perjungti, iš karto patikrinti.
- Jei kas nors nepavyksta, grąžinkite senąją versiją, klaidų žurnale suraskite kaltininką ir išspręskite problemą; neužstrikite su sena versija.
- Pas daugelį talpinimo paslaugų teikėjų versija galioja visam planui; išvalykite senas svetaines.
Testas (quiz)
Užduotis
Užduotis A8.4: Ar Jūsų PHP versija vis dar palaikoma? Skiltyje Įrankiai > Tinklalapio būklė, skirtuke Informacija, Serveris, pažiūrėkite, kokią PHP versiją naudoja Jūsų svetainė, ir ją įveskite kartu su savo domenu. Programa palygina versiją su php.net palaikomų versijų sąrašu: žalia, jei versija aktyviai palaikoma, oranžinė, jei gauna tik saugumo pataisas, raudona, jei atnaujinimų nebebus. Jei Jūsų serveris rodo versiją antraštėje X-Powered-By, programa taip pat patikrina, ar ji sutampa su tuo, ką įvedėte (ir praneša, kad tą antraštę geriau paslėpti, pamoka 7.4).
Užduotis D8.4: Atnaujinimo planas. Parašykite savo svetainės atnaujinimo iki naujausios PHP versijos, kurią siūlo Jūsų talpinimo paslaugų teikėjas, planą. Nurodykite: dabartinę ir tikslinę versiją, kokius įskiepius ir temas turite ir ar jie palaiko tikslinę versiją (kur tai perskaitėte), kur testuosite (bandomoji aplinka, kitas planas, lokaliai), kaip galėsite grįžti atgal ir kada tai darysite. Jei galite, atlikite atnaujinimą ir užsirašykite, kas pasirodė klaidų žurnale.
Užduotis D8.4: Atnaujinimo planas
Šią užduotį atliekate patys; niekas jos netikrina. Pažymėkite, ką atlikote, ir pažymėkite užduotį kaip atliktą.
Pasirinkite tikslinę versiją su aktyviu palaikymu (arba bent jau dar gaunančią saugumo atnaujinimus) ir kiekvienam įskiepiui nurodykite šaltinį (įskiepio puslapis, pakeitimų žurnalas, Svetainės diagnostika).
Jūsų pažymėti varneliai ir pastabos lieka tik šioje naršyklėje; niekur jų nesiunčiame. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotį atlikote.
Papildoma literatūra
Šiuose straipsniuose aprašyti žingsniai WebOké valdymo skydeliuose; kituose skydeliuose jie atliekami panašiai.
- DirectAdmin vadovas 14.1: PHP versijos pasirinkimas (Select PHP version)
- DirectAdmin vadovas 14.6: Klaidos po PHP versijos atnaujinimo ir klaidų žurnalo radimas
- PHP versijos ir PHP nustatymų keitimas (ir ką daryti, jei po atnaujinimo atsiranda klaidų)
- DirectAdmin vadovas 14.2: PHP plėtinių įjungimas ir išjungimas
- WebOké vadovas 6.11: PHP atnaujinimo užsakymas
- Palaikomos PHP versijos (php.net, anglų k.): https://www.php.net/supported-versions.php
- PHP ir WordPress versijos (make.wordpress.org, anglų k.): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
