Modul 8 · 8.4
PHP-versioner och uppgraderingar
Modul 8: Säkerhetskopior, testmiljö och PHP-uppgraderingar · Lästid: 10 minuter
Lärandemål: Efter den här lektionen kan du förbereda, genomföra och vid behov återställa en PHP-uppgradering på ett säkert sätt.
Nyckelbegrepp: PHP:s livscykel (aktiv support, endast säkerhet, slut), kompatibilitet för WordPress, tema och tillägg, föråldrad (deprecated), varning, fatalt fel, Hälsokontroll för webbplatser, felloggen, testmiljö (staging), återställa, låta någon göra uppgraderingen
Varför PHP-versioner spelar roll
WordPress, ditt tema och dina tillägg är skrivna i PHP (lektion 1.2). Varje år kommer en ny PHP-version (8.3, 8.4, 8.5, ...). Varje version underhålls under en bestämd tid:
- aktiv support: två år med fel och säkerhetsrättningar;
- endast säkerhet: därefter ytterligare två år med enbart säkerhetsrättningar;
- slut (end of life): inga fler rättningar, inte ens för säkerhetsluckor.
Läget den 8 november 2026, enligt php.net:
| Version | Säkerhetsuppdateringar till | Läge |
|---|---|---|
| 8.1 och äldre | (förbi) | Inga fler uppdateringar |
| 8.2 | 31 december 2026 | Endast säkerhet, snart slut |
| 8.3 | 31 december 2027 | Endast säkerhet |
| 8.4 | 31 december 2028 | Aktivt |
| 8.5 | 31 december 2029 | Aktivt |
En webbplats på en version utan uppdateringar körs på programvara med kända säkerhetsluckor som inte längre repareras. Dessutom är nyare versioner märkbart snabbare (lektion 6.3). Och wordpress.org rekommenderar PHP 8.3 eller högre (läget november 2026). Att hänga med varje år är alltså tanken, inte att ta ett stort hopp vart femte år.
Varför en uppgradering kan göra att något slutar fungera
Varje ny PHP-version ändrar något. Funktioner som i flera år har varit markerade som föråldrade (deprecated) tas bort, och reglerna blir strängare. Några kända exempel:
- PHP 8.0 tog bland annat bort
create_function()ocheach(), och många varningar blev fel; - PHP 8.2 markerade dynamisk skapande av egenskaper på objekt som föråldrat, vilket förekommer ofta i äldre tillägg.
Det finns tre typer av meddelanden, och skillnaden är viktig:
| Meddelande | Betydelse | Konsekvens |
|---|---|---|
| Deprecated (föråldrat) | "Det här fungerar fortfarande, men försvinner i en kommande version" | Inget synligt, en varning inför framtiden |
| Warning eller Notice | Något stämmer inte helt | Oftast inget synligt, ibland beter sig en del konstigt |
| Fatal error | PHP stannar | Vit sida eller "kritiskt fel" (lektion 5.4) |
WordPress i sig hänger oftast med bra till nya PHP-versioner. Risken ligger i gamla tillägg och teman, särskilt om de inte uppdaterats på länge eller är skräddarsydda.
Hitta din nuvarande version
- I WordPress: Verktyg > Hälsokontroll för webbplatser, fliken Info, under Server: PHP-versionen. Hälsokontroll för webbplatser varnar också om din version är föråldrad.
- I din hostingpanel: i DirectAdmin med CloudLinux under Select PHP version (med "(current)" efter den aktuella versionen).
- Ibland avslöjar servern det i header-raden
X-Powered-By: PHP/8.3.x. Helst inte (lektion 7.4), men står den där är det snabbt att se.
Observera: hos många webbhotell gäller PHP-versionen för hela ditt paket, alltså för alla webbplatser i det. En gammal webbplats i samma paket kan hindra dig. Det är ytterligare ett skäl att städa upp gamla webbplatser eller ge dem ett eget paket.
Uppgraderingen: steg för steg
- Uppdatera först. Uppdatera WordPress, ditt tema och alla dina tillägg på den nuvarande PHP-versionen. En stor del av problemen löses redan då, eftersom utvecklare anpassar sin kod för nya PHP-versioner.
- Kolla vad dina tillägg säger. På tilläggssidan på wordpress.org står den version av PHP som krävs; i ändringsloggen ofta "compatible with PHP 8.x". Ett tillägg som inte uppdaterats på flera år (lektion 5.3) är en kandidat att byta ut.
- Ta en säkerhetskopia (lektion 8.1).
- Testa i en testmiljö (staging) (lektion 8.3). Kan ditt webbhotell ge en annan PHP-version per webbplats, sätt testmiljön på den nya versionen. Går det inte (en version per paket), testa då i en testmiljö i ett annat paket, lokalt, eller välj ett lugnt tillfälle i produktion med den gamla versionen redo att återställa.
- Byta över: välj den nya versionen i din panel. I DirectAdmin med CloudLinux väljer du den under Select PHP version och klickar på Apply; utan Apply ändras ingenting.
- Kontrollera direkt: öppna din webbplats och klicka dig igenom några sidor, även administrationen, ett formulär och (för en butik) kassan. Kolla i felloggen (lektion 5.4) efter nya rader med
PHP Fatal error. - Tillägg och inställningar: hos vissa webbhotell hör PHP-tillägg och alternativ (som
memory_limit) ihop med en viss version. Kontrollera efter bytet att de står rätt för den nya versionen.
Om det går fel
- Fatalt fel: återställ den gamla versionen (det går oftast direkt hos de flesta webbhotell), så att din webbplats fungerar igen. Sök i felloggen efter vilket tillägg eller tema det var (sökvägen står i felmeddelandet), uppdatera det, byt ut det eller fråga utvecklaren om en lösning. Försök sedan igen.
- Bara deprecated-meddelanden: ingen anledning att gå tillbaka. Men det är en varning: vid nästa version kan det bli ett fel. Anteckna vilket tillägg det gäller.
- Skräddarsydd kod som slutar fungera: en gammal webbplats byggd av en webbyrå kan innehålla kod som ingen längre underhåller. Då måste koden anpassas av någon som kan PHP. Vissa webbhotell, även WebOké, erbjuder att göra det åt dig.
Lås inte fast en webbplats "för alltid" på en gammal version bara för att ett tillägg inte hänger med. Det är bara att skjuta upp ett problem som växer för varje år.
Mer säkerhet i förväg
För dig som vill gå längre: med PHP_CodeSniffer och reglerna i PHPCompatibilityWP kan du låta koden i dina tillägg och teman granskas för saker som inte fungerar i en nyare PHP-version, utan att behöva köra webbplatsen. Det hittar mycket, men inte allt. Att testa i en testmiljö behövs fortfarande.
I praktiken: så här ser det ut i en panel
Som exempel använder vi DirectAdmin med CloudLinux. I cPanel heter det ofta MultiPHP Manager eller Select PHP Version, i Plesk PHP Settings.
- Öppna Select PHP version (under Extra Programs).
- Klicka på versionen vid PHP version, välj den nya versionen och klicka på Apply.
- Kontrollera flikarna Extensions och Options för den nya versionen.
- Kontrollera din webbplats och felloggen. Fungerar något inte, välj den gamla versionen och Apply.
Sammanfattning
- Varje PHP-version får två år aktiv support och två år med enbart säkerhet, därefter inga fler rättningar. Den 8 november 2026 får 8.1 ingenting mer och 8.2 fortfarande fram till slutet av 2026.
- En uppgradering stör framför allt gamla tillägg och teman; deprecated är en varning, ett fatalt fel stoppar webbplatsen.
- Ordning: uppdatera allt, kontrollera tillägg, ta säkerhetskopia, testa i en testmiljö, byt över, kontrollera direkt.
- Går det fel, återställ den gamla versionen, hitta den skyldige i felloggen och lös det, fastna inte på en gammal version.
- Hos många webbhotell gäller versionen för hela paketet, städa upp gamla webbplatser.
Quiz
Uppgift
Uppgift A8.4: Stöds din PHP-version fortfarande? Kolla i Verktyg > Hälsokontroll för webbplatser (fliken Info, Server) vilken PHP-version din webbplats använder och fyll i den, tillsammans med din domän. Programmet jämför versionen med listan över versioner som stöds från php.net: grönt vid aktiv support, orange vid enbart säkerhet, rött om inga fler uppdateringar kommer. Visar din server versionen i header-raden X-Powered-By, kontrollerar programmet också om den stämmer med det du angav (och meddelar att du hellre bör dölja den headern, lektion 7.4).
Uppgift D8.4: En uppgraderingsplan. Skriv en plan för att uppgradera din webbplats till den senaste PHP-version som ditt webbhotell erbjuder. Fyll i: nuvarande och målversion, vilka tillägg och teman du har och om de stöder målversionen (med var du har läst det), var du testar (testmiljö, annat paket, lokalt), hur du kan gå tillbaka, och när du gör det. Genomför det om du kan, och anteckna vad som visades i felloggen.
Uppgift D8.4: En uppgraderingsplan
Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.
Välj en målversion med aktiv support (eller åtminstone fortfarande säkerhetsuppdateringar) och ange en källa för varje tillägg (tilläggssida, ändringslogg, webbplatsdiagnos).
Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.
Läs mer
Dessa artiklar beskriver stegen i WebOkés paneler; i andra paneler fungerar det på liknande sätt.
- DirectAdmin-guide 14.1: PHP-versionen välja (Select PHP version)
- DirectAdmin-guide 14.6: Fel efter en PHP-uppgradering och hitta fellogen
- Ändra PHP-version och PHP-inställningar (och vad du ska göra vid fel efter en uppgradering)
- DirectAdmin-guide 14.2: PHP-tillägg av och på
- WebOké manual 6.11: Låta utföra en PHP-uppgradering
- Versioner av PHP som stöds (php.net, engelska): https://www.php.net/supported-versions.php
- PHP- och WordPress-versioner (make.wordpress.org, engelska): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
