PHP är ett av de mest populära skriptspråk som finns på webben idag. Enligt W3Texhs används PHP av över 77% av alla webbplatser som använder ett programmeringsspråk på serversidan. Detta innebär att för nästan 8 av 10 webbplatser du besöker, använder de mest troligt PHP i någon form vilket också innebär att PHP inte är dött Och det spelar naturligtvis en mycket viktig roll för WordPress-ekosystemet, eftersom hela CMS:et är byggt på PHP.

Behöver du snabbt kontrollera din PHP-version? Skapa en phpinfo-sida.

Ett dilemma vi står inför idag är att många företag, utvecklare och värdar har halkat efter när det gäller att stödja de senaste PHP-versionerna. Något av statistiken nedan kanske chockerar dig. Idag vill vi diskutera några av anledningarna till att det är så viktigt att alla använder de senaste PHP-versionerna, inte bara av säkerhetsskäl utan också för bättre prestanda och stöd.

Gamla PHP-versioner

Som med alla programvaror, har PHP en release-cykel de måste följa för att fortsätta driva saker framåt och göra förbättringar.  Varje större utgåva av PHP har normalt full support för två år efter dess release. Under den tiden är buggar och säkerhetsproblem lösta och patchade regelbundet.

Stödda PHP-versioner för WordPress
Stödda PHP-versioner för WordPress

Du kan även se hur de mer aktuella versionerna av PHP hanteras.

Stöd för nuvarande PHP-version
Stöd för nuvarande PHP-version

PHP 5.6, 7.0, 7.1, 7.2, 7.3, och 7.4 End of Life

End of Life betyder att dessa versioner inte längre kommer att få säkerhetsstöd och kan vara utsatta för opatchade säkerhetsproblem.

  • Den 28 november år 2022 så nådde PHP 7.4 sitt end of life.
  • Den 6 december år 2021 så nådde PHP 7.3 sitt end of life.
  • Den 30 november 2020 nådde PHP 7.2 sitt end of life.
  • 1 December 2019 nådde PHP 7.1 sitt end of life.
  • 3 December 2018, nådde PHP 7.0 sitt end of life.
  • 31 December 2018, nådde PHP 5.6 nådde också sitt end of Life. Detta markerar officiellt slutet av en era för PHP 5, eftersom den första versionen, 5.0, lanserades för 14 år sedan.

Enligt den officiella WordPress-statistiksidan så använder över 55 % av WordPress-användarna fortfarande PHP 7.4 eller lägre när detta skrivs. Om du kombinerar detta med andra uttjänta PHP-versioner, så använder hela 85 % av användarna för närvarande PHP-versioner som inte längre stöds från och med november 2022.

Det är ännu läskigare om du tittar på statistiken utanför WordPress-communityt. Enligt W3Techs används PHP 5 för närvarande av 22,9% av alla webbplatser som använder PHP.

Detta är inte bara dåligt ur ett säkerhetsperspektiv, men också för att det fortfarande finns en stor del av WordPress-webbplatser som inte utnyttjar de ytterligare prestandaförbättringarna med PHP 8.2.

WordPress PHP versionsstatistik
WordPress PHP versionsstatistik

Varför är antagandet av nyare versioner så långsamt?

Den främsta orsaken till bristen på snabbare antagande för nya versioner handlar sannolikt om några olika faktorer:

  • Den främsta anledningen vi ser från nya kunder som migrerar till Kinsta är att företagare inte vet eller bryr sig om sin PHP-version. Detta är naturligtvis förståeligt i vissa fall eftersom vi inte förväntar oss att alla ska veta detta.  Många gånger faller detta ansvar på utvecklaren, byrån eller värden.
  • Det tar tid för utvecklare att uppdatera sin kod för att stödja nyare versioner av PHP. Detta inkluderar de som utvecklar webbplatser, teman, plugins, etc.
  • Det kräver inte bara ansträngning och tid för att uppdatera koden, det kan också kräva omfattande testning för att säkerställa kompatibilitet. Bara WordPress-arkivet har över 49 000 plugin!
  • Många WordPress-värdar har varit ovilliga att släppa uppdaterade PHP-versioner eftersom det kan resultera i ytterligare supportbiljetter om det bryter en webbplats. Som en host av applikationer, databaser och hanterad WordPress-hosting så förstår vi definitivt detta, men från vår erfarenhet så är detta vanligtvis tvärtom. Många supportproblem vi ser är från problem som orsakas av äldre PHP-versioner.
  • Utvecklaren eller byrån kan behöva välja mellan pest och kolera när de arbetar med en klient och andra 3:e parts program som de är ovilliga att spendera resurser på att uppdatera.

Men med det sagt, är det fortfarande inte en ursäkt att använda PHP-versioner som är inaktuella, inte stöds, och faktiskt kan bromsa ner din WordPress-webbplats. Den goda nyheten är att vissa framsteg görs. Du kan se att PHP fortfarande har en enorm marknadsandel och inte är på väg bort.

Anledningar till att uppdatera PHP-versioner

Kolla in några av anledningarna nedan varför du bör tänka på att uppdatera om du inte redan har gjort det.

1. Säkerhet

En av de viktigaste anledningarna till att uppdatera PHP är att se till att du kör på en version som stöds fullt ut och patchas regelbundet för säkerhetsproblem. PHP 5.4 har inte patchats sedan 2015. Och PHP 5.5 har inte patchats sedan 2016. Det är dock viktigt att notera att vissa operativsystemsleverantörer fortfarande uppdaterar äldre versioner av PHP om de inkluderar det.

Enligt CVE Details var 2016 ett av de värsta åren för säkerhetssårbarheter i PHP med över 100 inrapporterade problem. Dessa inkluderade DoS, kodutförande, overflow, minneskorruption, XSS, katalogöverträdelser, bypass, och informationstyper. 2017 var det tredje värsta året sedan 2000, med över 40 sårbarheter.

PHP säkerhetssårbarheter per år
PHP säkerhetssårbarheter per år

Även PHP själva ger lite feedback om att hålla sig uppdaterad:

PHP, som alla andra stora system, är under konstant granskning och förbättring. Varje ny version kommer ofta att omfatta både stora och mindre förändringar för att förbättra säkerheten och reparera eventuella brister, konfigurationsmissöden, och andra frågor som kommer att påverka den totala säkerheten och stabiliteten i ditt system. Liksom andra skriptspråk och program på systemnivå är det bästa sättet att uppdatera ofta och hålla sig uppdaterad om de senaste versionerna och deras ändringar. PHP, Keeping Current

Föreslagen läsning: Hur man förbättrar PHP-minnesgränsen i WordPress.

2. Prestanda

Med lanseringen av PHP 7.2, 7.3, 7.4 och 8.0 så kom enorma prestandavinster! 8.1 är till och med ännu bättre och 8.2 har precis släppts. Faktiskt så fantastisk att den borde prioriteras framför många av de små optimeringar som du kan leka med på din WordPress-webbplats.

Vi körde även våra egna PHP-riktmärkestester. Och på samma sätt som hos riktmärkestesterna ovan så upptäckte vi att PHP 8.0 och 8.1 exekverar transaktioner (förfrågningar) per sekund betydligt snabbare än äldre versioner.

Även om Kinsta inte längre stöder PHP 7.4, så stöder vi versionerna 8.0, 8.1, 8.2 och 8.3.

WordPress 5.9-RC2 PHP-riktmärkestester
WordPress 5.9-RC2 PHP-riktmärkestester

Christian Vigh publicerade också en PHP prestandajämförelse där han fann att PHP 5.2 var 400% långsammare än PHP 7.

Jämförelse av rena CPU benchmark-resultat
Jämförelse av rena CPU benchmark-resultat

3. Support

Support är en annan anledning till att du bör använda de senaste och stödda PHP-versionerna. Många gånger kan utvecklare av plugin och teman hittills bara ge support för äldre versioner. Mycket av detta beror på tidsbegränsningar och att inte ha tid att testa kompatibilitet. Saker kommer så småningom att brytas när du kör på gamla versioner, och du kan se detta hända första hand i WordPress-forumen. Här är ett vanligt fel, som vanligtvis orsakas av en äldre PHP-version och hur det behandlar en viss funktion:

Parse error: syntax error, unexpected '' (T_VARIABLE), expecting function (T_FUNCTION) in /pub/file.php on line xxx

Du kan göra en sökning i WordPress forum för ”unexpected T_Function” och det resulterar i över 2,000 trådar, många med resultat från inom de senaste dagarna. Här är bara ett par av de senaste, allt på grund av gamla versioner av PHP:

Många av dessa trådar öppnas på grund av att de körs på föråldrade versioner av PHP. Men samma sak kan också sägas om att trådar är öppna på grund av PHP 7-kompatibilitetsproblem. Vilket visar att WordPress utvecklarcommunityt fortfarande försöker komma ikapp med nyare versioner av PHP.

4. Nya funktioner för utvecklare

De flesta WordPress-utvecklare skulle föredra att bara arbeta på nyare versioner av PHP om de kunde, helt enkelt på grund av det faktum att det så många nya funktioner har lagts till mellan PHP 5.2 och PHP 7.4. Några ändringar med PHP 7 och 7.3 inkluderar:

  • Kombinerad jämförelseoperatör
  • Nollkolareoperatör
  • Ny typhintning
  • Anonyma klasser
  • Ogiltiga typer
  • Iterable och void-returer
  • Multicatch-undantagshantering
  • Nycklar som kan användas i listor
  • Mer negativa strängförskjutningar
  • Nummeroperatörer och felaktiga nummer
  • HTTP/2 server push
  • Preloading
  • Spread operator i array-uttryck
  • Pilfunktioner 2.0 (Korta stängningar)
  • Null coalescing tilldelningsoperatör
  • Typade egenskaper 2.0
  • Svaga referenser
  • Covariant-teturer och contravariant-parametrar
  • Nytt anpassat objekt serialiseringsmekanism

Det är inte roligt att stödja gamla versioner av någonting. Tyvärr tvingas många utvecklare stödja ett brett utbud av versioner.

Det finns ännu fler nya funktioner i PHP 8.0. Några av de stora inkluderar:

  • Namngivna argument
  • Union typer
  • Marknadsföring av konstruktörer
  • Anpassad objektserialisering
  • Matcha uttryck
  • Nullsafe operatör
  • Förbättringar i typsystemet och felhantering

Och tätt bakom detta så kommer PHP 8.1 och PHP 8.2. Båda inkluderar nya funktioner, utfasningar och ändringar.

Se till att din värd stöder de senaste PHP-versionerna

Det tog ett tag, men de officiella WordPress.org-kraven rekommenderar nu en värd som kör PHP version 7.4 eller senare.

Yoast publicerade nyligen en bra artikel som heter ”Whipping Your Host Into Shape”. I artikeln går Joost De Valk in i detalj på hur det verkliga problemet är att webbhotell inte antar detta snabbare, och även om de gör det, uppmuntrar de inte användarna att uppgradera. Och Yoast kommer att göra något åt det. Från och med Yoast SEO 4.5, kommer de att börja visa ett meddelande på WordPress-panelen för webbplatser som körs på PHP 5.2.  Detta meddelande kommer att vara stort, fult och kan inte tas bort.

Om vi ​​kunde ge Yoast en high five, skulle vi absolut göra det! Kinsta har stöd för de senaste versionerna av PHP med varje stabil utgåva.

Uppdatering: PHP 8.2 (officiell release) är nu tillgänglig för alla Kinsta-klienter. PHP 7.4 stöds inte längre hos Kinsta. Observera att vi stöder PHP-versionerna 8.0, 8.1, 8.2 och 8.3.

Vi är dedikerade till att köra den snabbaste och säkraste miljön på marknaden och det innebär att vi måste se till att alla webbplatser använder teknik som aktivt tar emot säkerhetsuppdateringar.

Kolla in vår djupgående guide med steg för steg instruktioner om hur du säkert kan uppdatera PHP på din WordPress-webbplats.

Kontrollera din nuvarande version av PHP

Kanske vet du inte vilken version av PHP din WordPress-webbplats för närvarande körs på. Kolla in dessa olika sätt nedan för att ta reda på det.

1. Kontrollera PHP-versionen med Pingdom

Ett av de enklaste sätten att kontrollera vilken version av PHP som du kör är att använda ett verktyg som Pingdom eller Google Chrome Devtools. Den första HTTP-begäranrubriken visar vanligtvis versionen.

Kontrollera PHP-versionen i Pingdom
Kontrollera PHP-versionen i Pingdom

Detta bygger på att värden inte ändrar X-Powered-By-rubrikvärdet. Vissa kan ta bort detta i syfte att förbättra säkerhet. Om de gör det kanske du inte ser din PHP-version, och då skulle du behöva använda det andra alternativet nedan. Eller så kan du nå ut till din värd och fråga.

2. Kontrollera PHP versionen i WordPress

Om du kör WordPress 5.0 eller högre kan du se PHP-versionen under ”Site Health” -verktyget.

WordPress site health verktyg PHP verision
WordPress site health verktyg PHP verision

3. Kontrollera PHP-versionen med fil

Du kan också kontrollera din PHP-version genom att ladda upp en fil via FTP till din server.

Steg 1

Skapa en tom fil som heter phpinfo.php. Klistra in följande innehåll i filen:

<?php
echo 'Current PHP version: ' . phpversion();
?>

Steg 2

Ladda upp filen till roten på din WordPress-webbplats.

Ladda upp phpinfo.php-filen
Ladda upp phpinfo.php-filen

Steg 3

Bläddra sedan till platsen för din fil, domain.com/phpinfo.php. Du bör då se en avläsning av din nuvarande PHP-version.

Kontrollera PHP-versionen i webbläsaren
Kontrollera PHP-versionen i webbläsaren

Vad borde mindre tekniskt kunniga användare eller de med mindre budgetar göra?

Vi inser att det fortfarande finns tusentals WordPress-webbplatser där ute som är inkompatibla med nyare PHP-versioner, oavsett om det beror på ett gammalt plugin eller tema. Det är de mindre tekniskt kunniga användare eller de med en mycket liten budget som står inför den största utmaningen; vad är det bästa tillvägagångssättet? Vi stöter på detta hela tiden med kunder som migrerar till Kinsta och när PHP-versioner når sin EOL (End of Life).

Här är några rekommendationer:

  1. Detta bör vara självklart, men uppdatera alltid dina plugin och teman till den senaste versionen om du inte redan har gjort det.
  2. Nå ut till utvecklaren av pluginet eller temat och be dem att lägga till/fixa stöd för PHP 7.2, 7.3, 7.4 eller 8.0 (eller den aktuella versionen du försöker uppdatera till). Vi ger kunderna en förvarning innan vi fasar ut PHP-versioner så att de har gott om tid att göra detta om det behövs. Detta är särskilt viktigt för de med mindre budget som inte har råd att helt enkelt anlita en utvecklare.
  3. Hitta ett alternativt plugin som kan leverera samma funktionalitet och är kompatibel med PHP-versionen. Tack vare det massiva WordPress-arkivet och tusentals premiumplugin och teman på marknaden, kan du nästan garantera att det finns ett alternativ för allt.
  4. För dem som har budgetarna, anlita en WordPress-utvecklare att åtgärda problemet.

Så här uppdaterar du PHP

Redo att uppdatera? Bra, men en av de allra första saker du bör göra är att testa din webbplats för att säkerställa kompatibilitet. Du kan testa din WordPress-webbplats lokalt eller ännu bättre, utnyttja en staging-miljö, eftersom detta närmare liknar en live-produktionsplats. Det är bättre att vara ta det säkra före det osäkra!

Om du är Kinsta-kund kan du enkelt skapa en staging-miljö med ett enda klick. Ändra PHP-versionen från instrumentpanelen och börja testa.

Skapa en WordPress-iscensättningsmiljö
Skapa en WordPress-iscensättningsmiljö

Och kom ihåg, om du uppgraderar från en gammal version av PHP, se till att du också uppgraderar din WordPress-installation. En ny version av PHP med en 2 år gammal version av WordPress kommer förmodligen inte att ge ett bra resultat. När du har testat din webbplats och är redo att uppdatera PHP kommer här några resurser för att komma igång snabbt.

Kolla in vår djupgående guide med steg för steg-instruktioner om hur du säkert kan uppdatera PHP på din WordPress-webbplats.

Uppdatera PHP Med Kinsta

Om du är Kinsta-kund kan du enkelt ändra versionen av PHP genom att klicka på din webbplats, gå till ”Verktyg” och välja en annan PHP-motor. Vi har för närvarande PHP 8.0, 8.1, 8.2 och 8.3 tillgängliga.

Byt PHP-version
Byt PHP-version

Hos Kinsta innehåller vår PHP-konfiguration en anpassad självläkande funktion. Detta innebär att webbplatsens PHP-motor automatiskt startar om om den går ner. Om den automatiska PHP-omstarten misslyckas kommer vårt övervakningssystem att varna vårt sysadmin-team så att de kan undersöka problemet.

Uppdatera PHP från cPanel

Om din värd använder cPanel har de troligtvis redan ett alternativ tillgängligt för dig att ändra din version av PHP. Logga helt enkelt in på cPanel och under ”programvara”-kategorin, klicka på ”Välj PHP-Version.”

Välj PHP-version i cPanel
Välj PHP-version i cPanel

Du kan sedan välja de PHP-versioner som din värd stöder.

PHP 7 i cPanel
PHP 7 i cPanel

Uppdatera PHP manuellt på servern

Om du driver hanterar din egen server rekommenderar vi att du kollar in den officiella PHP-installationsdokumentationen, eftersom instruktionerna varierar per operativsystem. Du bör titta på ändringarna av funktioner, klasser, omslag, tillägg, moduler, etc. Här är några länkar till migreringsguider:

Sammanfattning

Nu är det dags att tänka på att uppgradera till PHP 8.0, 8.1 eller 8.2 om du inte redan har gjort det. Inte bara för att du vill köra på programvara som stöds, men du är garanterad prestandafördelar!  Om din nuvarande värd inte stöder PHP 8.0, 8.1 eller 8.2 än, uppmuntrar vi dig starkt att söka efter ny värd. Och likaså med teman och plugins. Om utvecklaren ännu inte har släppt en patch kan det vara dags att hitta ett alternativ.

Har du nyligen migrerat till PHP 8.0, 8.1 eller 8.2? Vi vill gärna höra dina tankar nedan. Var det en lätt övergång? Eller kanske är du fortfarande fast med att vänta på en 3:e part.

Brian Jackson

Brian har stor passion för WordPress och har använt det i över ett årtionde, han har till och med utvecklat ett par premium-plugins. Brian gillar att blogga, kolla filmer och hiking. Ta kontakt med Brian via Twitter.