8. modulis · 8.4
PHP versijas un jauninājumi
8. modulis: Rezerves kopijas, testa vide un PHP jauninājumi · Lasīšanas laiks: 10 minūtes
Mācību mērķis: Pēc šīs nodarbības Jūs varēsiet droši sagatavot, veikt un, ja nepieciešams, atsaukt PHP jauninājumu.
Galvenie jēdzieni: PHP dzīves cikls (aktīvs atbalsts, tikai drošība, dzīves cikla beigas), WordPress, tēmas un spraudņu saderība, novecojis (deprecated), brīdinājums, fatāla kļūda, Vietnes veselība, kļūdu žurnāls, testa vide (staging), atjaunošana, jauninājuma veikšana ar servisa palīdzību
Kāpēc PHP versijas ir svarīgas
WordPress, Jūsu tēma un spraudņi ir rakstīti PHP valodā (nodarbība 1.2). Katru gadu iznāk jauna PHP versija (8.3, 8.4, 8.5 utt.). Katru versiju uztur noteiktu laiku:
- aktīvs atbalsts: divi gadi ar kļūdu un drošības labojumiem;
- tikai drošība: pēc tam vēl divi gadi, kad tiek nodrošināti tikai drošības labojumi;
- dzīves cikla beigas (end of life): vairs nekādu labojumu, arī ne drošības ievainojamībām.
Stāvoklis 2026. gada 8. novembrī, saskaņā ar php.net:
| Versija | Drošības atjauninājumi līdz | Stāvoklis |
|---|---|---|
| 8.1 un vecākas | (beidzies) | Vairs nav atjauninājumu |
| 8.2 | 2026. gada 31. decembris | Tikai drošība, tuvu beigām |
| 8.3 | 2027. gada 31. decembris | Tikai drošība |
| 8.4 | 2028. gada 31. decembris | Aktīva |
| 8.5 | 2029. gada 31. decembris | Aktīva |
Tīmekļa vietne, kas izmanto versiju bez atjauninājumiem, darbojas ar programmatūru, kurā ir zināmas ievainojamības, kas vairs netiek labotas. Turklāt jaunākas versijas ir manāmi ātrākas (nodarbība 6.3). Un wordpress.org iesaka PHP 8.3 vai jaunāku (stāvoklis 2026. gada novembrī). Tātad ideja ir sekot līdzi katru gadu, nevis reizi piecos gados veikt lielu lēcienu.
Kāpēc jauninājums var kaut ko sabojāt
Katra jauna PHP versija kaut ko maina. Funkcijas, kas jau gadiem bijušas atzīmētas kā novecojušas (deprecated), tiek noņemtas, un noteikumi kļūst stingrāki. Daži zināmi piemēri:
- PHP 8.0 cita starpā noņēma
create_function()uneach(), un daudzi brīdinājumi kļuva par kļūdām; - PHP 8.2 atzīmēja īpašību dinamisku izveidi objektos kā novecojušu, kas bieži sastopams vecākos spraudņos.
Ir trīs paziņojumu veidi, un atšķirība starp tiem ir svarīga:
| Paziņojums | Nozīme | Sekas |
|---|---|---|
| Deprecated (novecojis) | "Tas vēl darbojas, bet tiks noņemts kādā no nākamajām versijām" | Nekas redzams; brīdinājums par nākotni |
| Warning vai Notice | Kaut kas nav pilnīgi pareizi | Parasti nekas redzams, dažkārt kāda daļa darbojas dīvaini |
| Fatal error | PHP apstājas | Balta lapa vai "kritiska kļūda" (nodarbība 5.4) |
WordPress pats parasti labi sadarbojas ar jaunām PHP versijām. Risks ir vecos spraudņos un tēmās, īpaši ja tie ilgi nav atjaunināti vai ir izveidoti pēc pasūtījuma.
Pašreizējās versijas noskaidrošana
- WordPress: Rīki > Vietnes veselība, cilne Informācija, sadaļā Serveris: PHP versija. Vietnes veselība brīdina arī tad, ja Jūsu versija ir novecojusi.
- Jūsu hostinga panelī: DirectAdmin ar CloudLinux sadaļā Select PHP version (ar "(current)" aiz pašreizējās versijas).
- Dažreiz serveris to atklāj galvenē
X-Powered-By: PHP/8.3.x. Labāk, lai tā nebūtu (nodarbība 7.4), bet, ja tā ir redzama, tad to ātri var pārbaudīt.
Ievērībai: daudziem hostinga pakalpojumu sniedzējiem PHP versija ir noteikta visam Jūsu pakotnei, tātad visām tajā esošajām tīmekļa vietnēm. Veca tīmekļa vietne tajā pašā pakotnē var Jūs bloķēt. Tas ir vēl viens iemesls sakārtot vecās tīmekļa vietnes vai piešķirt tām savu pakotni.
Jauninājums: soli pa solim
- Vispirms atjaunināt. Atjauniniet WordPress, Jūsu tēmu un visus spraudņus uz pašreizējo PHP versiju. Liela daļa problēmu tādējādi jau tiks atrisinātas, jo izstrādātāji pielāgo savu kodu jaunām PHP versijām.
- Pārbaudiet, ko saka Jūsu spraudņi. wordpress.org spraudņa lapā norādīta nepieciešamā PHP versija; izmaiņu žurnālā (changelog) bieži rakstīts "compatible with PHP 8.x". Spraudnis, kas jau gadiem nav atjaunināts (nodarbība 5.3), ir kandidāts, kuru vajadzētu aizstāt.
- Izveidot rezerves kopiju (nodarbība 8.1).
- Testēšana testa vidē (staging) (nodarbība 8.3). Ja Jūsu hostinga pakalpojumu sniedzējs ļauj katrai tīmekļa vietnei iestatīt citu PHP versiju, iestatiet testa videi jauno versiju. Ja tas nav iespējams (viena versija visai pakotnei), testējiet citā pakotnē, lokāli, vai izvēlieties mierīgu brīdi produkcijas vidē ar veco versiju gatavu atjaunošanai.
- Pārslēgšana: izvēlieties jauno versiju savā panelī. DirectAdmin ar CloudLinux to izvēlaties sadaļā Select PHP version un noklikšķiniet Apply; bez Apply nekas nemainīsies.
- Nekavējoties pārbaudiet: atveriet savu tīmekļa vietni un izklikšķiniet cauri vairākām lapām, arī administrēšanu, kādu formu un (veikala gadījumā) norēķināšanos. Skatiet kļūdu žurnālā (nodarbība 5.4) jaunas
PHP Fatal errorrindas. - Paplašinājumi un iestatījumi: dažiem hostinga pakalpojumu sniedzējiem PHP paplašinājumi un opcijas (piemēram,
memory_limit) ir piesaistītas konkrētai versijai. Pēc pārslēgšanas pārbaudiet, vai tie ir pareizi iestatīti jaunajai versijai.
Ja kaut kas noiet greizi
- Fatāla kļūda: atjaunojiet veco versiju (to lielākoties var izdarīt uzreiz), lai Jūsu tīmekļa vietne atkal darbotos. Kļūdu žurnālā meklējiet, kurš spraudnis vai tēma to izraisīja (ceļš ir norādīts kļūdas paziņojumā), atjauniniet to, aizstājiet to vai lūdziet izstrādātājam risinājumu. Pēc tam mēģiniet vēlreiz.
- Tikai deprecated paziņojumi: tas nav iemesls atgriezties. Bet tas ir brīdinājums: nākamajā versijā tas var kļūt par kļūdu. Pierakstiet, kurš spraudnis tas ir.
- Pēc pasūtījuma veidots kods, kas vairs nedarbojas: vecā tīmekļa vietnē, ko izveidojis vietņu veidotājs, var būt kods, ko vairs neviens neuztur. Tad šis kods ir jāpielāgo kādam, kurš pārzina PHP. Daži hostinga pakalpojumu sniedzēji, arī WebOké, piedāvā to izdarīt Jūsu vietā.
Neatstājiet tīmekļa vietni "uz visiem laikiem" vecā versijā tikai tāpēc, ka viens spraudnis nav saderīgs. Tas ir problēmas atlikšana, kas katru gadu kļūst lielāka.
Lielāka pārliecība iepriekš
Tiem, kas vēlas iet tālāk: ar PHP_CodeSniffer un PHPCompatibilityWP noteikumiem Jūs varat pārbaudīt savu spraudņu un tēmu kodu, lai atrastu lietas, kas nedarbosies jaunākā PHP versijā, nepalaižot tīmekļa vietni. Tas atrod daudz, bet ne visu. Testēšana testa vidē joprojām ir nepieciešama.
Praksē: kā tas izskatās panelī
Kā piemēru izmantosim DirectAdmin ar CloudLinux. cPanel to bieži sauc par MultiPHP Manager vai Select PHP Version, Plesk - PHP Settings.
- Atveriet Select PHP version (zem Extra Features).
- Noklikšķiniet uz versijas pie PHP version, izvēlieties jauno versiju un noklikšķiniet Apply.
- Pārbaudiet cilnes Extensions un Options jaunajai versijai.
- Pārbaudiet savu tīmekļa vietni un kļūdu žurnālu. Ja kaut kas nedarbojas, izvēlieties veco versiju un Apply.
Kopsavilkums
- Katra PHP versija saņem divus gadus aktīva atbalsta un divus gadus tikai drošības atbalsta; pēc tam vairs nekādu labojumu. 2026. gada 8. novembrī 8.1 vairs nesaņem neko, un 8.2 - līdz 2026. gada beigām.
- Jauninājums galvenokārt sabojā vecus spraudņus un tēmas; deprecated ir brīdinājums, fatal error apstādina tīmekļa vietni.
- Secība: viss jāatjaunina, jāpārbauda spraudņi, jāizveido rezerves kopija, jātestē testa vidē, jāpārslēdz, nekavējoties jāpārbauda.
- Ja kaut kas noiet greizi, atjaunojiet veco versiju, atrodiet vainīgo kļūdu žurnālā un atrisiniet to; nepaliekat uz vecas versijas.
- Daudziem hostinga pakalpojumu sniedzējiem versija attiecas uz visu pakotni; sakārtojiet vecās tīmekļa vietnes.
Tests (quiz)
Uzdevums
Uzdevums A8.4: Vai Jūsu PHP versija joprojām tiek atbalstīta? Sadaļā Rīki > Vietnes veselība (cilne Informācija, Serveris) apskatiet, kādu PHP versiju izmanto Jūsu tīmekļa vietne, un ievadiet to kopā ar savu domēnu. Programma salīdzinās versiju ar php.net atbalstīto versiju sarakstu: zaļš, ja ir aktīvs atbalsts, oranžs, ja ir tikai drošības atbalsts, sarkans, ja atjauninājumu vairs nav. Ja Jūsu serveris versiju parāda galvenē X-Powered-By, programma arī pārbaudīs, vai tā sakrīt ar ievadīto (un paziņos, ka šo galveni labāk paslēpt, nodarbība 7.4).
Uzdevums D8.4: Jauninājuma plāns. Uzrakstiet plānu Jūsu tīmekļa vietnes jauninājumam uz jaunāko PHP versiju, ko piedāvā Jūsu hostinga pakalpojumu sniedzējs. Norādiet: pašreizējo un mērķa versiju, kādi spraudņi un tēmas Jums ir un vai tie atbalsta mērķa versiju (ar atsauci, kur to izlasījāt), kur Jūs testēsiet (testa vide, cita pakotne, lokāli), kā Jūs varat atgriezties, un kad Jūs to darīsiet. Veiciet to, ja varat, un pierakstiet, kas parādījās kļūdu žurnālā.
Uzdevums D8.4: Jaunināšanas plāns
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
Izvēlieties mērķa versiju ar aktīvu atbalstu (vai vismaz vēl pieejamiem drošības atjauninājumiem) un katram spraudnim norādiet avotu (spraudņa lapa, izmaiņu žurnāls, Sitediagnose).
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Papildu lasāmviela
Šie raksti apraksta soļus WebOké paneļos; citos paneļos tie darbojas līdzīgi.
- DirectAdmin rokasgrāmata 14.1: PHP versijas izvēle (Select PHP version)
- DirectAdmin rokasgrāmata 14.6: Kļūdas pēc PHP versijas jauninājuma un kļūdu žurnāla atrašana
- PHP versijas un PHP iestatījumu mainīšana (un kas jādara, ja pēc jauninājuma rodas kļūdas)
- DirectAdmin rokasgrāmata 14.2: PHP paplašinājumu ieslēgšana un izslēgšana
- WebOké rokasgrāmata 6.11: PHP atjaunināšanas pieteikšana
- Atbalstītās PHP versijas (php.net, angļu valodā): https://www.php.net/supported-versions.php
- PHP un WordPress versijas (make.wordpress.org, angļu valodā): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
