Modul 8 · 8.4
PHP-versioner og opgraderinger
Modul 8: Backup, testmiljø og PHP-opgraderinger · Læsetid: 10 minutter
Læringsmål: Efter denne lektion kan du forberede, gennemføre og om nødvendigt annullere en PHP-opgradering sikkert.
Nøglebegreber: PHP's livscyklus (aktiv support, kun sikkerhed, afslutning), kompatibilitet af WordPress, tema og plugins, forældet (deprecated), advarsel, fatal fejl, Webstedshelbred, fejllog, testmiljø (staging), gendanne, få opgraderingen udført
Hvorfor PHP-versioner betyder noget
WordPress, dit tema og dine plugins er skrevet i PHP (lektion 1.2). Der udkommer en ny PHP-version hvert år (8.3, 8.4, 8.5, ...). Hver version vedligeholdes i en fast periode:
- aktiv support: to år med fejl- og sikkerhedsrettelser;
- kun sikkerhed: derefter endnu to år med kun sikkerhedsrettelser;
- afslutning (end of life): ingen rettelser længere, heller ikke for sårbarheder.
Status pr. 8. november 2026 ifølge php.net:
| Version | Sikkerhedsopdateringer til | Status |
|---|---|---|
| 8.1 og ældre | (overskredet) | Ingen opdateringer længere |
| 8.2 | 31. december 2026 | Kun sikkerhed, snart afsluttet |
| 8.3 | 31. december 2027 | Kun sikkerhed |
| 8.4 | 31. december 2028 | Aktiv |
| 8.5 | 31. december 2029 | Aktiv |
Et websted på en version uden opdateringer kører på software med kendte sårbarheder, der ikke bliver rettet længere. Desuden er nyere versioner mærkbart hurtigere (lektion 6.3). Og wordpress.org anbefaler PHP 8.3 eller nyere (status november 2026). Det er altså meningen at følge med hvert år, ikke tage et stort spring hvert femte år.
Hvorfor en opgradering kan ødelægge noget
Hver ny PHP-version ændrer noget. Funktioner, der i årevis har været markeret som forældet (deprecated), bliver fjernet, og reglerne bliver strengere. Et par kendte eksempler:
- PHP 8.0 fjernede blandt andet
create_function()ogeach(), og mange advarsler blev til fejl; - PHP 8.2 markerede dynamisk oprettelse af egenskaber på objekter som forældet, hvilket er udbredt i ældre plugins.
Der findes tre slags meldinger, og forskellen er vigtig:
| Melding | Betydning | Konsekvens |
|---|---|---|
| Deprecated (forældet) | "Dette virker stadig, men forsvinder i en kommende version" | Intet synligt; en advarsel om fremtiden |
| Warning eller Notice | Noget stemmer ikke helt | Som regel intet synligt, nogle gange en del der opfører sig underligt |
| Fatal error | PHP stopper | Hvid side eller "kritisk fejl" (lektion 5.4) |
WordPress selv følger som regel fint med nye PHP-versioner. Risikoen ligger i gamle plugins og temaer, især hvis de ikke er blevet opdateret længe eller er skræddersyet kode.
Find din nuværende version
- I WordPress: Værktøjer > Webstedshelbred, fanen Info, under Server: PHP-versionen. Webstedshelbred advarer også, hvis din version er forældet.
- I dit hostingpanel: i DirectAdmin med CloudLinux under Select PHP version (med "(current)" efter den nuværende version).
- Nogle gange afslører serveren det i headeren
X-Powered-By: PHP/8.3.x. Helst ikke (lektion 7.4), men hvis den står der, er det hurtigt at se.
Bemærk: hos mange hostingudbydere gælder PHP-versionen for hele din pakke, altså for alle websteder i den. Et gammelt websted i samme pakke kan stå i vejen for dig. Det er endnu en grund til at rydde op i gamle websteder eller give dem deres egen pakke.
Opgraderingen trin for trin
- Opdater først. Opdater WordPress, dit tema og alle dine plugins på den nuværende PHP-version. En stor del af problemerne er dermed allerede løst, fordi udviklerne tilpasser deres kode til nye PHP-versioner.
- Se hvad dine plugins siger. På pluginsiden på wordpress.org står den krævede PHP-version; i changelog ofte "compatible with PHP 8.x". Et plugin, der ikke er blevet opdateret i årevis (lektion 5.3), er en kandidat til at blive udskiftet.
- Lav en backup (lektion 8.1).
- Test i testmiljø (staging) (lektion 8.3). Kan din hostingudbyder give en anden PHP-version pr. websted, så sæt testmiljøet på den nye version. Kan det ikke lade sig gøre (én version pr. pakke), test da i et testmiljø i en anden pakke, lokalt, eller vælg et roligt tidspunkt på produktionsmiljøet med den gamle version klar til at gendanne.
- Omstilling: vælg den nye version i dit panel. I DirectAdmin med CloudLinux vælger du den under Select PHP version og klikker på Apply; uden Apply ændres intet.
- Kontroller med det samme: åbn dit websted og klik dig igennem et par sider, også kontrolpanelet, en formular og (ved en webshop) kassen. Se i fejlloggen (lektion 5.4) efter nye
PHP Fatal error-linjer. - Udvidelser og indstillinger: hos nogle hostingudbydere hører PHP-udvidelser og indstillinger (som
memory_limit) til en bestemt version. Kontroller efter skiftet, at de er korrekt indstillet til den nye version.
Hvis det går galt
- Fatal fejl: gendan den gamle version (det kan de fleste hostingudbydere gøre med det samme), så dit websted virker igen. Find i fejlloggen hvilket plugin eller tema det drejer sig om (stien står i fejlmeldingen), opdater det, udskift det eller spørg udvikleren om en løsning. Prøv derefter igen.
- Kun deprecated-meldinger: ingen grund til at gå tilbage. Men det er en advarsel: ved næste version kan det blive en fejl. Noter hvilket plugin det er.
- Skræddersyet kode, der ikke længere virker: et gammelt websted, der er bygget af en webudvikler, kan indeholde kode, som ingen vedligeholder længere. Så skal koden tilpasses af nogen, der kender PHP. Nogle hostingudbydere, også WebOké, tilbyder at gøre det for dig.
Lad ikke et websted blive stående "for altid" på en gammel version, fordi ét plugin ikke kan følge med. Det er at udskyde et problem, der bliver større hvert år.
Mere sikkerhed på forhånd
Hvis du vil videre: med PHP_CodeSniffer og reglerne fra PHPCompatibilityWP kan du få koden i dine plugins og temaer tjekket for ting, der ikke virker i en nyere PHP-version, uden at køre webstedet. Det finder meget, men ikke alt. Test i testmiljø er stadig nødvendigt.
I praksis: sådan ser det ud i et panel
Som eksempel bruger vi DirectAdmin med CloudLinux. I cPanel hedder det ofte MultiPHP Manager eller Select PHP Version, i Plesk PHP Settings.
- Åbn Select PHP version (under Ekstra programmer).
- Klik på versionen ved PHP version, vælg den nye version og klik på Apply.
- Kontroller fanerne Extensions og Options for den nye version.
- Kontroller dit websted og fejlloggen. Virker noget ikke, vælg den gamle version og Apply.
Opsummering
- Hver PHP-version får to år med aktiv support og to år med kun sikkerhed; derefter ingen rettelser længere. Den 8. november 2026 får 8.1 intet mere, og 8.2 kun til udgangen af 2026.
- En opgradering ødelægger primært gamle plugins og temaer; deprecated er en advarsel, en fatal error stopper webstedet.
- Rækkefølge: opdater alt, tjek plugins, tag en backup, test i testmiljø, skift over, kontroller med det samme.
- Går det galt, så gendan den gamle version, find synderen i fejlloggen og løs det; bliv ikke hængende på en gammel version.
- Hos mange hostingudbydere gælder versionen for hele pakken; ryd op i gamle websteder.
Quiz
Opgave
Opgave A8.4: Er din PHP-version stadig understøttet? Se under Værktøjer > Webstedshelbred (fanen Info, Server), hvilken PHP-version dit websted bruger, og indtast den sammen med dit domæne. Programmet sammenligner versionen med listen over understøttede versioner fra php.net: grøn ved aktiv support, orange ved kun sikkerhed, rød hvis der ikke kommer flere opdateringer. Viser din server versionen i headeren X-Powered-By, kontrollerer programmet også om den stemmer overens med det, du indtastede (og melder, at du hellere må skjule den header, lektion 7.4).
Opgave D8.4: En opgraderingsplan. Skriv en plan for opgraderingen af dit websted til den nyeste PHP-version, din hostingudbyder tilbyder. Udfyld: nuværende og ønsket version, hvilke plugins og temaer du har, og om de understøtter den ønskede version (med hvor du har læst det), hvor du tester (testmiljø, anden pakke, lokalt), hvordan du kan gå tilbage, og hvornår du gør det. Gennemfør det hvis du kan, og noter hvad der viste sig i fejlloggen.
Opgave D8.4: En opgraderingsplan
Denne opgave laver du selv; ingen tjekker den. Afkryds hvad du har gjort, og markér opgaven som udført.
Vælg en målversion med aktiv support (eller i det mindste stadig sikkerhedsopdateringer), og nævn for hver plugin en kilde (pluginside, changelog, Sitediagnose).
Dine afkrydsninger og noter forbliver kun i denne browser; vi sender dem ingen steder hen. Er du logget ind, gemmer vi kun i Mine kurser, at du har udført opgaven.
Læs mere
Disse artikler beskriver trinnene i WebOkés paneler; i andre paneler fungerer de på lignende vis.
- DirectAdmin vejledning 14.1: Sådan vælger du PHP-version (Select PHP version)
- DirectAdmin vejledning 14.6: Fejl efter en PHP-opgradering og hvordan du finder fejlloggen
- PHP-version og PHP-indstillinger ændres (og hvad du skal gøre ved fejl efter en opgradering)
- DirectAdmin vejledning 14.2: PHP-udvidelser slås til og fra
- WebOké vejledning 6.11: Få lavet en PHP-opgradering
- Understøttede PHP-versioner (php.net, engelsk): https://www.php.net/supported-versions.php
- PHP og WordPress-versioner (make.wordpress.org, engelsk): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
