Modul 8 · 8.4
PHP-versjoner og oppgraderinger
Modul 8: Sikkerhetskopier, testmiljø og PHP-oppgraderinger · Lesetid: 10 minutter
Læringsmål: Etter denne leksjonen kan du trygt forberede, utføre og om nødvendig rulle tilbake en PHP-oppgradering.
Nøkkelbegreper: livssyklus til PHP (aktiv støtte, kun sikkerhet, slutt), kompatibilitet mellom WordPress, tema og utvidelser, utdatert (deprecated), advarsel, fatal feil, Nettstedshelse, feillogg, testmiljø (staging), gjenopprette, la noen utføre oppgraderingen
Hvorfor PHP-versjoner er viktige
WordPress, temaet ditt og utvidelsene dine er skrevet i PHP (leksjon 1.2). Hvert år kommer det en ny versjon av PHP (8.3, 8.4, 8.5, ...). Hver versjon vedlikeholdes i en fast periode:
- aktiv støtte: to år med feilrettinger og sikkerhetsoppdateringer;
- kun sikkerhet: deretter to år til med kun sikkerhetsoppdateringer;
- slutt (end of life): ingen flere rettinger, heller ikke for sikkerhetshull.
Status per 8. november 2026, ifølge php.net:
| Versjon | Sikkerhetsoppdateringer til | Status |
|---|---|---|
| 8.1 og eldre | (utløpt) | Ingen oppdateringer lenger |
| 8.2 | 31. desember 2026 | Kun sikkerhet, nesten slutt |
| 8.3 | 31. desember 2027 | Kun sikkerhet |
| 8.4 | 31. desember 2028 | Aktiv |
| 8.5 | 31. desember 2029 | Aktiv |
Et nettsted på en versjon uten oppdateringer kjører programvare med kjente sikkerhetshull som ikke lenger blir rettet. I tillegg er nyere versjoner merkbart raskere (leksjon 6.3). Og wordpress.org anbefaler PHP 8.3 eller høyere (status november 2026). Å følge med hvert år er altså meningen, ikke et stort hopp én gang hvert femte år.
Hvorfor en oppgradering kan ødelegge noe
Hver nye PHP-versjon endrer noe. Funksjoner som har vært merket som utdatert (deprecated) i årevis, blir fjernet, og reglene blir strengere. Noen kjente eksempler:
- PHP 8.0 fjernet blant annet
create_function()ogeach(), og mange advarsler ble til feil; - PHP 8.2 merket dynamisk opprettelse av egenskaper på objekter som utdatert, noe som forekommer ofte i eldre utvidelser.
Det finnes tre typer meldinger, og forskjellen er viktig:
| Melding | Betydning | Konsekvens |
|---|---|---|
| Deprecated (utdatert) | «Dette fungerer fortsatt, men forsvinner i en kommende versjon» | Ikke noe synlig; en advarsel for fremtiden |
| Warning eller Notice | Noe stemmer ikke helt | Vanligvis ikke noe synlig, noen ganger en del som oppfører seg rart |
| Fatal error | PHP stopper | Blank side eller «kritisk feil» (leksjon 5.4) |
WordPress selv følger som regel godt med på nye PHP-versjoner. Risikoen ligger i gamle utvidelser og temaer, spesielt hvis de ikke har blitt oppdatert på lenge eller er skreddersydd kode.
Finne din nåværende versjon
- I WordPress: Verktøy > Nettstedshelse, fanen Info, under Server: PHP-versjonen. Nettstedshelse varsler også hvis versjonen din er utdatert.
- I kontrollpanelet ditt: hos DirectAdmin med CloudLinux i Select PHP version (med «(current)» etter den aktuelle versjonen).
- Noen ganger avslører serveren det i headeren
X-Powered-By: PHP/8.3.x. Helst ikke (leksjon 7.4), men hvis den er der, er den rask å sjekke.
Merk: hos mange webhotell gjelder PHP-versjonen for hele pakken, altså for alle nettsteder i den. Et gammelt nettsted i samme pakke kan holde deg tilbake. Det er en ekstra grunn til å rydde opp i gamle nettsteder eller gi dem en egen pakke.
Oppgraderingen: steg for steg
- Oppdater først. Oppdater WordPress, temaet ditt og alle utvidelsene dine på den nåværende PHP-versjonen. En stor del av problemene er dermed allerede løst, siden utviklerne tilpasser koden sin til nye PHP-versjoner.
- Se hva utvidelsene dine sier. På utvidelsessiden på wordpress.org står den nødvendige PHP-versjonen; i endringsloggen ofte «compatible with PHP 8.x». En utvidelse som ikke har blitt oppdatert på årevis (leksjon 5.3), er en kandidat for utskifting.
- Lag en sikkerhetskopi (leksjon 8.1).
- Test i testmiljø (leksjon 8.3). Hvis webhotellet ditt kan gi en annen PHP-versjon per nettsted, sett testmiljøet på den nye versjonen. Går ikke det (én versjon per pakke), test da i et testmiljø i en annen pakke, lokalt, eller velg et rolig tidspunkt på produksjon med den gamle versjonen klar til å settes tilbake.
- Bytte om: velg den nye versjonen i kontrollpanelet ditt. Hos DirectAdmin med CloudLinux velger du den i Select PHP version og klikker på Apply; uten Apply endres ingenting.
- Kontroller med en gang: åpne nettstedet ditt og klikk gjennom noen sider, også kontrollpanelet, et skjema og (hvis du har en nettbutikk) kassen. Se i feilloggen (leksjon 5.4) etter nye
PHP Fatal error-linjer. - Utvidelser og innstillinger: hos enkelte webhotell hører PHP-utvidelser og valg (som
memory_limit) til en versjon. Kontroller etter byttet at de er riktig satt for den nye versjonen.
Hvis noe går galt
- Fatal feil: sett tilbake den gamle versjonen (det går vanligvis umiddelbart hos de fleste webhotell), slik at nettstedet ditt fungerer igjen. Finn i feilloggen hvilken utvidelse eller hvilket tema det gjaldt (stien står i feilmeldingen), oppdater den, bytt den ut eller be utvikleren om en løsning. Prøv deretter på nytt.
- Bare deprecated-meldinger: ingen grunn til å gå tilbake. Men det er en advarsel: i neste versjon kan det bli en feil. Noter hvilken utvidelse det gjelder.
- Skreddersydd kode som ikke lenger fungerer: et gammelt nettsted laget av en nettstedbygger kan inneholde kode som ingen lenger vedlikeholder. Da må koden tilpasses av noen som kan PHP. Enkelte webhotell, også WebOké, tilbyr å gjøre dette for deg.
Ikke la et nettsted bli stående «for alltid» på en gammel versjon fordi én utvidelse ikke henger med. Det er bare å utsette et problem som blir større for hvert år.
Mer sikkerhet på forhånd
For deg som vil gå videre: med PHP_CodeSniffer og reglene i PHPCompatibilityWP kan du få koden til utvidelsene og temaene dine kontrollert for ting som ikke fungerer i en nyere PHP-versjon, uten å kjøre nettstedet. Det finner mye, men ikke alt. Testing i testmiljø er fortsatt nødvendig.
I praksis: slik ser det ut i et kontrollpanel
Som eksempel bruker vi DirectAdmin med CloudLinux. I cPanel heter det ofte MultiPHP Manager eller Select PHP Version, i Plesk PHP Settings.
- Åpne Select PHP version (under Extra Programmer).
- Klikk på versjonen ved PHP version, velg den nye versjonen og klikk på Apply.
- Kontroller fanene Extensions og Options for den nye versjonen.
- Kontroller nettstedet ditt og feilloggen. Fungerer noe ikke, velg den gamle versjonen og Apply.
Oppsummering
- Hver PHP-versjon får to år med aktiv støtte og to år med kun sikkerhet; deretter ingen flere rettinger. Den 8. november 2026 får 8.1 ingenting mer og 8.2 varer til slutten av 2026.
- En oppgradering ødelegger først og fremst gamle utvidelser og temaer; deprecated er en advarsel, en fatal error stopper nettstedet.
- Rekkefølge: oppdater alt, kontroller utvidelser, sikkerhetskopi, test i testmiljø, bytt om, kontroller med en gang.
- Går det galt, sett tilbake den gamle versjonen, finn synderen i feilloggen og løs det; ikke bli hengende på en gammel versjon.
- Hos mange webhotell gjelder versjonen for hele pakken; rydd opp i gamle nettsteder.
Quiz
Oppgave
Oppgave A8.4: Støttes PHP-versjonen din fortsatt? Se i Verktøy > Nettstedshelse (fanen Info, Server) hvilken PHP-versjon nettstedet ditt bruker, og fyll den inn sammen med domenet ditt. Programmet sammenligner versjonen med listen over støttede versjoner fra php.net: grønt ved aktiv støtte, oransje ved kun sikkerhet, rødt hvis det ikke kommer flere oppdateringer. Viser serveren din versjonen i headeren X-Powered-By, kontrollerer programmet også om den stemmer overens med det du fylte inn (og melder at du bør skjule den headeren, leksjon 7.4).
Oppgave D8.4: En oppgraderingsplan. Skriv en plan for oppgraderingen av nettstedet ditt til den nyeste PHP-versjonen webhotellet ditt tilbyr. Fyll inn: nåværende og ønsket versjon, hvilke utvidelser og temaer du har og om de støtter den ønskede versjonen (med hvor du har lest det), hvor du tester (testmiljø, annen pakke, lokalt), hvordan du kan gå tilbake, og når du gjør det. Utfør det hvis du kan, og noter hva som dukket opp i feilloggen.
Oppgave D8.4: En oppgraderingsplan
Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.
Velg en målversjon med aktiv støtte (eller i det minste fortsatt sikkerhetsoppdateringer) og nevn en kilde for hver utvidelse (utvidelsesside, endringslogg, Sitediagnose).
Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.
Les mer
Disse artiklene beskriver stegene i kontrollpanelene til WebOké; i andre kontrollpaneler fungerer de på tilsvarende måte.
- DirectAdmin-veiledning 14.1: Velge PHP-versjon (Select PHP version)
- DirectAdmin-veiledning 14.6: Feil etter en PHP-oppgradering og finne feilloggen
- PHP-versjon og PHP-innstillinger, endre (og hva du bør gjøre ved feil etter en oppgradering)
- DirectAdmin-veiledning 14.2: PHP-utvidelser av og på
- WebOké-veiledning 6.11: Få hjelp med PHP-oppgradering
- Støttede PHP-versjoner (php.net, engelsk): https://www.php.net/supported-versions.php
- PHP og WordPress-versjoner (make.wordpress.org, engelsk): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
