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 un veikt PHP jauninājumu un vajadzības gadījumā to atsaukt.
Galvenie jēdzieni: PHP dzīves cikls (aktīvs atbalsts, tikai drošība, 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), atjaunot, uzticēt jauninājumu speciālistam
Kāpēc PHP versijas ir svarīgas
WordPress, Jūsu tēma un Jūsu spraudņi ir rakstīti PHP valodā (nodarbība 1.2). Katru gadu iznāk jauna PHP versija (8.3, 8.4, 8.5, ...). Katra versija tiek uzturēta noteiktu laiku:
- aktīvs atbalsts: divi gadi ar kļūdu un drošības labojumiem;
- tikai drošība: pēc tam vēl divi gadi tikai ar drošības labojumiem;
- beigas (end of life): vairs nekādu labojumu, arī ne drošības caurumiem.
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) | Atjauninājumu vairs nav |
| 8.2 | 2026. gada 31. decembris | Tikai drošība, gandrīz beigas |
| 8.3 | 2027. gada 31. decembris | Tikai drošība |
| 8.4 | 2028. gada 31. decembris | Aktīvs |
| 8.5 | 2029. gada 31. decembris | Aktīvs |
Tīmekļa vietne, kas darbojas uz versijas bez atjauninājumiem, izmanto programmatūru ar zināmiem drošības caurumiem, kas vairs netiek laboti. Turklāt jaunākas versijas ir jūtami ātrākas (nodarbība 6.3). Un wordpress.org iesaka PHP 8.3 vai jaunāku (stāvoklis 2026. gada novembrī). Tātad mērķis 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 ilgi bija 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, un tas vecākos spraudņos ir bieži sastopams.
Ir trīs veidu paziņojumi, un atšķirība starp tiem ir svarīga:
| Paziņojums | Nozīme | Sekas |
|---|---|---|
| Deprecated (novecojis) | "Tas vēl darbojas, bet nākamajā versijā pazudīs" | Nekas redzams nenotiek; brīdinājums nākotnei |
| Warning vai Notice | Kaut kas nav gluži pareizi | Parasti nekas redzams, dažreiz kāda daļa uzvedas dīvaini |
| Fatal error | PHP apstājas | Balta lapa vai "kritiska kļūda" (nodarbība 5.4) |
Pats WordPress parasti labi tiek līdzi jaunām PHP versijām. Risks slēpjas vecos spraudņos un tēmās, īpaši, ja tie ilgi nav atjaunināti vai ir izstrādāti pēc pasūtījuma.
Kā atrast savu pašreizējo versiju
- WordPress: Rīki > Vietnes veselība, cilne Informācija, sadaļā Serveris: PHP versija. Vietnes veselība arī brīdina, ja Jūsu versija ir novecojusi.
- Jūsu mitināšanas (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 ne (nodarbība 7.4), bet, ja galvene ir redzama, versiju var ātri uzzināt.
Ievērojiet: pie daudziem mitināšanas pakalpojumu sniedzējiem PHP versija attiecas uz visu Jūsu paketi, tātad uz visām tajā esošajām tīmekļa vietnēm. Viena veca tīmekļa vietne tajā pašā paketē var Jūs bremzēt. Tas ir vēl viens iemesls vecas tīmekļa vietnes sakārtot vai novietot atsevišķā paketē.
Jauninājums soli pa solim
- Vispirms atjauniniet. Atjauniniet WordPress, savu tēmu un visus spraudņus, vēl izmantojot pašreizējo PHP versiju. Ar to jau tiek atrisināta liela daļa problēmu, jo izstrādātāji pielāgo savu kodu jaunām PHP versijām.
- Pārbaudiet, ko saka Jūsu spraudņi. Spraudņa lapā vietnē wordpress.org ir norādīta nepieciešamā PHP versija; izmaiņu žurnālā (changelog) bieži ir "compatible with PHP 8.x". Spraudnis, kas gadiem nav atjaunināts (nodarbība 5.3), ir kandidāts nomaiņai.
- Izveidojiet rezerves kopiju (nodarbība 8.1).
- Testējiet testa vidē (staging) (nodarbība 8.3). Ja Jūsu mitināšanas pakalpojumu sniedzējs var piešķirt citu PHP versiju katrai tīmekļa vietnei atsevišķi, iestatiet testa videi jauno versiju. Ja tas nav iespējams (viena versija paketei), testējiet testa vidē citā paketē, lokāli vai izvēlieties mierīgu brīdi darba vietnē, turot gatavībā veco versiju atjaunošanai.
- Pārslēgšana: izvēlieties jauno versiju savā panelī. DirectAdmin ar CloudLinux to izvēlas sadaļā Select PHP version un noklikšķina Apply; bez Apply nekas nemainās.
- Uzreiz pārbaudiet: atveriet savu tīmekļa vietni un pārskatiet dažas lapas, arī administrēšanu, kādu formu un (interneta veikalā) apmaksas procesu. Apskatiet kļūdu žurnālu (nodarbība 5.4), vai tajā nav jaunu
PHP Fatal errorrindu. - Paplašinājumi un iestatījumi: pie dažiem mitināšanas pakalpojumu sniedzējiem PHP paplašinājumi un opcijas (piemēram,
memory_limit) ir piesaistīti konkrētai versijai. Pēc maiņas pārbaudiet, vai jaunajai versijai tie ir iestatīti pareizi.
Ja kaut kas noiet greizi
- Fatāla kļūda: atjaunojiet veco versiju (pie vairuma mitināšanas pakalpojumu sniedzējiem to var izdarīt uzreiz), lai Jūsu tīmekļa vietne atkal darbotos. Kļūdu žurnālā atrodiet, kurš spraudnis vai kura tēma to izraisīja (ceļš ir norādīts kļūdas paziņojumā), atjauniniet to, nomainiet vai lūdziet izstrādātājam risinājumu. Pēc tam mēģiniet vēlreiz.
- Tikai deprecated paziņojumi: tas nav iemesls atgriezties. Taču 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 izstrādāts kods, kas vairs nedarbojas: veca tīmekļa vietne, ko izveidojis tīmekļa izstrādātājs, var saturēt kodu, kuru neviens vairs neuztur. Tad šis kods jāpielāgo kādam, kurš pārzina PHP. Daži mitināšanas pakalpojumu sniedzēji, arī WebOké, piedāvā to izdarīt Jūsu vietā.
Neatstājiet tīmekļa vietni uz vecas versijas "uz visiem laikiem" tikai tāpēc, ka viens spraudnis netiek līdzi. Tā ir tikai problēmas atlikšana, un problēma ar katru gadu kļūst lielāka.
Lielāka pārliecība jau iepriekš
Tiem, kas vēlas iet tālāk: ar PHP_CodeSniffer un PHPCompatibilityWP noteikumiem varat pārbaudīt savu spraudņu un tēmu kodu, meklējot lietas, kas jaunākā PHP versijā nedarbojas, turklāt bez tīmekļa vietnes palaišanas. Tā var atrast daudz, bet ne visu. Testēšana testa vidē joprojām ir nepieciešama.
Praksē: kā tas izskatās panelī
Kā piemēru izmantojam DirectAdmin ar CloudLinux. Panelī cPanel tas bieži saucas MultiPHP Manager vai Select PHP Version, panelī Plesk: PHP Settings.
- Atveriet Select PHP version (sadaļā 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 labojumus; pēc tam labojumu vairs nav. 2026. gada 8. novembrī versija 8.1 vairs neko nesaņem, bet 8.2 saņem līdz 2026. gada beigām.
- Jauninājums galvenokārt sabojā vecus spraudņus un tēmas; deprecated ir brīdinājums, fatal error aptur tīmekļa vietni.
- Secība: visu atjaunināt, pārbaudīt spraudņus, izveidot rezerves kopiju, testēt testa vidē, pārslēgt, uzreiz pārbaudīt.
- Ja kaut kas noiet greizi, atjaunojiet veco versiju, atrodiet vaininieku kļūdu žurnālā un novērsiet problēmu; nepaliekiet uz vecas versijas.
- Pie daudziem mitināšanas pakalpojumu sniedzējiem versija attiecas uz visu paketi; 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, cilnē Informācija, sadaļā Serveris apskatiet, kuru PHP versiju izmanto Jūsu tīmekļa vietne, un ievadiet to kopā ar savu domēnu. Programma salīdzina versiju ar php.net atbalstīto versiju sarakstu: zaļš, ja ir aktīvs atbalsts, oranžs, ja tikai drošība, sarkans, ja atjauninājumu vairs nav. Ja Jūsu serveris rāda versiju galvenē X-Powered-By, programma arī pārbauda, vai tā atbilst Jūsu ievadītajai (un norāda, ka šo galveni labāk paslēpt, nodarbība 7.4).
Uzdevums D8.4: Jaunināšanas plāns. Uzrakstiet plānu savas tīmekļa vietnes jaunināšanai uz jaunāko PHP versiju, ko piedāvā Jūsu mitināšanas 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 (kur Jūs to izlasījāt), kur Jūs testēsiet (testa vide, cita pakete, lokāli), kā varēsiet atgriezties un kad to darīsiet. Ja iespējams, izpildiet plānu 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 darbības WebOké paneļos; citos paneļos tās notiek 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 maiņa (un ko darīt, ja pēc jaunināšanas 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/
