Articles

Vad är PHP 7 och hur börjar du använda det med WordPress?

Taggar – hur man, PHP, PHP7
  • By Sourav Kundu
  • Maj 15, 2019
WordPress Deals

PHP 7 är en av de mest betydelsefulla uppdateringarna i historien av en serverbaserad programvara som driver mer än 82 % av internet, och i den här guiden diskuterar vi hur du använder den med WordPress.

Vi kommer att titta på PHP 7:s otroliga fördelar och hjälpa dig att förstå vikten av att hålla dig till den rekommenderade minimiversionen (5.6). Du lär dig också hur du kontrollerar om din WordPress-webbplats är redo för PHP 7, och mäter för- och nackdelarna med att uppgradera till denna nya version.

I slutet av den här guiden kommer du att vara utrustad med en gedigen förståelse för PHP, och tillräckligt övertygad för att uppdatera till den rekommenderade lägsta versionen – eller kanske till och med ta nästa steg till PHP 7!

Vi börjar…

En nybörjarguide till PHP – Vad är PHP?

För dig som är helt ny i ämnet är PHP ett skriptspråk på serversidan som är utformat för att generera HTML-sidor vid förfrågan.
Tänk dig att det är en enkel process i tre steg:

  • Input: Du anger en uppsättning kommandon som är skrivna i form av ett PHP-skript som ingång till PHP-motorn.
  • Bearbetning: Du anger en uppsättning kommandon som är skrivna i form av ett PHP-skript som ingång till PHP-motorn: PHP-motorn utför skriptet på servern.
  • Utdrag: PHP-motorn utför skriptet på servern.
  • Utdrag: Utmatningen är en HTML-sida som återges av webbläsaren.

I den trestegsprocess som beskrivs ovan kan vi identifiera några komponenter.

  1. PHP-skriptet(er)
  2. PHP-motor
  3. Server
  4. Utmatning HTML

Nu ska vi se hur de förhåller sig till en typisk WordPress-miljö.

Components of a typical PHP Environment

1) PHP-skripten: WordPress är i huvudsak en stor, organiserad samling kod som är skriven i flera skriptspråk, såsom PHP, JavaScript och CSS, där det primära språket är PHP. Det är det som ger WordPress dess dynamiska karaktär.

2) PHP-motorn: Tänk på den som den centrala komponenten som utför de instruktioner som anges i PHP-skriptet – och gör det med hjälp av den server som den körs på. PHP-motorn är en av de mest avgörande komponenterna och påverkar en webbplats hastighet, prestanda och tillförlitlighet. Den är också det centrala ämnet för vår diskussion!

3) Server: Detta är den fjärrdator, även kallad ”webbhotell”, där din WordPress-webbplats finns. Om det fanns en webbhotell utan PHP installerat skulle WordPress inte kunna köras på den.

4) Output HTML: Varje gång en WordPress-webbplats laddas kallas PHP-motorn. Skript exekveras av PHP-motorn med hjälp av servern, och den slutliga (eller utgående) HTML exporteras till besökarens webbläsare. Och det är det som avslutar processen.

Vad är PHP 7?

När vi nu är klara över vad ett PHP-skript är, låt oss tala om PHP-motorn. I resten av artikeln kommer vi att använda termerna ”PHP-motor” och ”PHP” synonymt.

PHP 7 är en PHP-motor som lanserades i december 2016 och innehåller en mängd nya funktioner, prestandaförbättringar och säkerhetsförbättringar. Som med varje bra lektion börjar vi med lite historia.

En kort historia om PHP

PHP släpptes 1994 som ett skriptspråk av Rasmus Lerdorf i ett försök att skapa ett verktyg som skulle göra det enkelt att uppdatera sin personliga hemsida. *Han visste inte att detta sidoprojekt skulle utvecklas till att driva mer än 82 % av alla webbplatser – inklusive stora företag som *Facebook och WordPress.

Under årens lopp har PHP haft ett par utgåvor. Den första kom 1995, följt av version 2.0 1997. Version 3.0 släpptes 1998 följt av version 4.0 år 2000.

Är det förväntan som gör PHP 7 speciellt?

illustration of 12 years time taken to release php 7

Det är här saker och ting började bli intressanta. PHP version 5 släpptes fyra år senare, 2004. Den fortsatte att ha flera iterationer – så mycket att kommittén beslutade att hoppa över version 6 och hoppa över till version 7. För att sätta saker och ting i perspektiv var den första iterationen av PHP 5 version 5.0, som släpptes 2004. Dess sista iteration, PHP 5.6, släpptes tio år senare, 2014.

Två år senare kom PHP 7 – den mest lovande versionen av PHP hittills. I huvudsak fick världen vänta i drygt 12 år för att få tag på PHP 7.

Performansförbättringar i PHP 7

Väntan var inte förgäves. PHP 7 kom med en lastbilslast av prestandaförbättringar och säkerhetsförbättringar. Låt oss gå igenom varje prestandaförbättring, med stöd av solida benchmarks.

1) Massivt förbättrad bandbredd (förfrågningar per sekund)

php 7 advantages in WordPress higher bandwidth

PHP 7 presterade nästan dubbelt så bra som PHP 5.6, med WordPress 4.1.1.

php7 vs php 5.6 in WordPress performance benchmark

I diagrammet ovan kan vi se nästan 2.18 gånger antalet begäranden per sekund vid mindre än halva latensen.

2) Lägre latens för samtidiga användare

php 7 advantages in WordPress lower latency

Latensen är den tid som förflyter mellan den första begäran och det första svaret mellan server och klient. Ju lägre latenstid, desto bättre är tjänsten. Låt oss se hur PHP 7 hanterar det.

php7 vs php 5.6 in WordPress latency concurrent users

Vi har tagit tre datapunkter baserade på antalet samtidiga användare för varje PHP-motor.

  1. De orangefärgade staplarna representerar latensen när tio personer använder din webbplats samtidigt.
  2. De blå staplarna står för det dubbla (dvs. 20 samtidiga användare).
  3. De rosa staplarna står för 40 samtidiga användare.

I samtliga fall slår PHP 7 sina föregångare med råge.

*Allt detta i *exakt samma maskinvara! Detta innebär att om du skulle uppgradera till PHP 7 med alla nödvändiga kompatibilitetskontroller på plats (mer om detta senare) bör du se en tvåfaldig ökning av prestandan.

3) WordPress 4.0+-versioner är optimerade för PHP 7

php 7 advantages in WordPress better compatibility with wordpress

WordPress 4.0 har i sig självt finjusterats för att utnyttja PHP 7:s senaste funktioner. Enligt Zend har den nästan dubbelt så hög prestanda på samma hårdvara jämfört med föregångaren WordPress 3.6.

php7 WordPress 3.6 vs 4.1 performance improvement

I diagrammet ovan ser vi att det finns en tvåfaldig prestandaförbättring i en större WordPress-uppdatering. Detta riktmärke är oberoende av PHP-versionen. Det är snarare en indikation på att WordPress-gemenskapen kontinuerligt optimerar koden för kommande versioner av PHP.

4) 75 % färre instruktioner, samma resultat

php 7 advantages in WordPress memory optimization

PHP 7 har också en mördande instruktionsuppsättning. Den är oerhört optimerad för att utföra samma uppgift med färre instruktioner. En WordPress-förfrågan i PHP 5.6 exekveras till exempel med 100 miljoner CPU-instruktioner. I PHP 7 utförs samma begäran på 25 miljoner CPU-instruktioner. Det är en 75-procentig minskning av antalet kommandon som krävs för att utföra samma uppgift!

5) Betydande prestandavinster

php 7 advantages in WordPress superior performance

Jason Cosper, resident nörd på WP Engine, älskar att mixtra med de senaste PHP-motorerna för att se vilka som fungerar bäst.

php 7 advantages in WordPress php 5.5 vs php 7.0

I ett av sina experiment fann han att PHP 7 var tveklöst 6.6 gånger snabbare än PHP 5.5 – med WordPress 4.3.1 och bbPress.

State of WordPress PHP in Q1 2017

Nu när vi har en funktionell förståelse för fördelarna med PHP 7 ska vi ta en titt på hur många WordPress-användare som använder det.

state of WordPress php 2017 q1

Det goda: Enligt den officiella WordPress-statistiken har 9 % av WordPress-användarna uppgraderat till PHP 7 från och med den 20 april 2017.

Det goda: Omkring 40 % av WordPress-användarna använder PHP 5.6. Detta är relativt goda nyheter eftersom PHP 5.6 får säkerhetsstöd fram till den 31 december 2018.

Det fula: Det är dock den riktigt dåliga nyheten att mer än 50 % av de aktiva WordPress-webbplatserna använder en PHP-version som är äldre än 5.6, vilket utsätter alla dessa webbplatser för allvarliga sårbarhetsproblem.

  • PHP 5.4 har inte patchats sedan 2015.
  • Och PHP 5.5 har inte patchats sedan 2016.
  • Om du använder en version som är äldre än 5.6 har du inte patchats sedan 2016.
  • Om du använder en version som är äldre än 5.6 har du inte patchats sedan 2015.
  • 6 (mer om hur du kontrollerar din PHP-version senare), uppdatera din PHP-version omedelbart.

En hoppets ledstjärna

yoast seo php 5 and php 7 battle

Joost de Valk, grundare av Yoast SEO – ett SEO-plugin för WordPress med över 3 miljoner aktiva installationer – bestämde sig för att göra något åt detta. För att citera från den ursprungliga artikeln:

Från och med Yoast SEO 4.5 kommer vi att börja visa ett meddelande på WordPress instrumentpanel för administratörer av webbplatser som körs med PHP 5.2. Detta meddelande kommer att vara stort, fult och icke-diskutabelt. I detta meddelande kommer vi att förklara varför administratören bör uppgradera PHP-versionen på webbplatsen.

WordPress och föråldrade versioner av PHP

dangers of outdated php illustration

I det här läget är det viktigt att påpeka att WordPress kommer att fortsätta att stödja äldre versioner av PHP. Detta betyder inte att du kan luta dig tillbaka och slappna av. Det ligger i vårt intresse att uppgradera till 5.6 – om inte PHP 7.

php 5.x and php 7 support timeline

Om du använder PHP 5.6 finns det ett par saker som snart kommer till dig:

  1. Enligt den officiella tidslinjen för PHP-support skulle PHP 5.6 få officiellt stöd fram till den 17 januari 2017. Det är slut.
  2. En bättre nyhet är att PHP 5.6 skulle få säkerhetsstöd fram till den 31 december 2018.
  3. Självklart kommer du fortfarande att gå miste om alla prestandaförbättringar som du skulle kunna få för en absolut noll-investering.

Övergången till PHP 7 – är det värt det?

Nu när vi har en fast förståelse för de olika fördelarna med PHP 7, låt oss ta upp den avgörande frågan:

Metoden för att komma fram till ett beslut bör baseras på logik. Vi kommer att försöka ta itu med dessa tre grundläggande frågor:

Vad är fördelarna med att byta till PHP 7?

php 7 advantages

Vi har täckt fem punkter som stöds av benchmarks från hela webben. Alla pekar på en mängd fördelar, och på ett rungande ja när det gäller beslutet att byta.

Är ditt WordPress-tema och din(a) insticksmodul(er) kompatibla med PHP 7?

php 7 compatibility issues

Bara för att WordPress är kompatibelt med PHP 7 (och har bakåtkompatibilitet med PHP 5.6) betyder det inte att alla dess teman och insticksmoduler är det. Det kan hända att du använder ett specialtillverkat tema eller en insticksmodul som har funktioner som är föråldrade i PHP 7. Du kan också använda ett insticksprogram från WordPress-förrådet som inte har uppdaterats på ett tag. Vad är lösningen?

Hur kan du kontrollera om din WordPress-webbplats är redo för PHP 7?

php 7 challenges

Troligt nog har de generösa utvecklarna på WP Engine skapat ett ganska häftigt insticksprogram som löser just det här problemet.

php compatibility checker WordPress plugin by wpengine

Introducing the PHP Compatibility Checker: Ett plugin som skannar din WordPress-kodbas och aktiva tema-plugins och letar efter kända kompatibilitetsproblem.

PHP Compatibility Checker

Stödda PHP-versioner av PHP Compatibility Checker Plugin

Du kan kontrollera om det finns kompatibilitetsproblem för fem olika versioner av PHP, från 5.3 till 7.0.

php compatibility checker WordPress plugin test results

(klicka för att förstora)

Kompatibilitetsproblemen (om de hittas) kategoriseras i fel och varningar. Insticksmodulen listar fil- och radnumret för den felande koden, tillsammans med information om varför den koden är inkompatibel med den valda versionen av PHP.

Det finns dock några begränsningar:

  1. Insticksmodulen kan inte upptäcka kompatibilitetsproblem vid körning, eftersom den inte exekverar några av de existerande temana och insticksmodulerna.
  2. Den förlitar sig på WP-Cron för att skanna filer i bakgrunden, så WP-Cron måste vara aktiverad och fungera på servern.
  3. Undertiden rapporteras falska positiva resultat eftersom insticksprogrammet inte kan upptäcka oanvända kodvägar som kan användas för bakåtkompatibilitet.

list of supported plugin checks by php compatibility checker

Exempel på en lista över insticksprogram som stöds av PHP Compatibility Checker.

Samt sett är det ett ganska snyggt plugin som kan tala om för dig om din WordPress-stack är förberedd för uppgraderingen eller inte!

Vad är farorna med att inte byta till PHP 7?

php 7 pitfalls

De följande tre punkterna förklarar nackdelarna med att inte uppgradera till det rekommenderade PHP 7. De belyser också några av de möjliga farorna med att inte uppgradera till den erforderliga minimiversionen, PHP 5.6.

4.1 Prestandaförlust: För det första skulle du gå miste om minst en tvåfaldig ökning av prestandan utan att investera ett enda öre. Och gissa vad? Om du använder PHP 5.2 rapporteras det vara 400 % långsammare än PHP 7!

4.2 Säkerhetsproblem: PHP 5.x hade en uppsjö av sårbarheter som vederbörligen åtgärdades med de nyare versionerna. Faktum är att 2016 faktiskt var ett rekordår för säkerhetsbrister i PHP, med mer än 100 rapporterade problem, allt från Denial of Service (DoS) till minneskorruption, exekvering av skadlig kod och så vidare.

För att ge dig en uppfattning om hur illa situationen är har PHP 5.4 inte blivit patchad sedan 2015, och den stöds inte längre. Ändå använder 21 % av WordPress-användarna fortfarande PHP 5.4! Om du tillhör den gruppen bör du uppdatera till 5.6 idag.

4.3 Broken Plugins: Om du använder en äldre version av PHP som inte stöds skapar du konflikter med insticksprogram. Ett av de mest framträdande felen är ”unexpected T_Function”, som visas nedan.

outdated version of PHP causes WordPress conflicts

Screenshot of support thread of the Content Locker plugin

Screenshotet ovan är en supportfråga för insticksprogrammet Content Locker. Författaren nämner tydligt att den minsta PHP-versionen som krävs för att insticksmodulen ska fungera är 5.4.

Success Stories

PHP 7 success stories

Det är alltid uppmuntrande att se hur olika organisationer över hela världen drar nytta av uppgraderingen.

5.1) En förmögenhet sparad för Badoo

Vårt första exempel är dejtingappen Badoo, som har lyckats spara över en miljon dollar genom att uppgradera till PHP 7. Hur? Enkelt! PHP 7 minskade den mängd datorkraft som krävs för att utföra samma uppgift. Det krävdes alltså färre servrar för att utföra samma uppgift, vilket ledde till att cirka 300 servrar frigjordes!

5.2) Stor prestandaförbättring för Clinton Electronics

Vår andra framgångshistoria kommer från en WP Engine-kund, Clinton Electronics. Kort sagt ville de ha en dynamisk e-handelsbutik med snabba laddningstider. Den valda stacken var WordPress tillsammans med WooCommerce. Byrån som de arbetade med valde WP Engine som leverantör av förvaltat WordPress-hosting, vilket i sin tur rekommenderade PHP 7. Denna uppgradering lyckades i slutändan minska webbplatsens laddningstid med så mycket som 60 %!

Hur man byter till PHP 7 med WordPress?

switching to php 7 illustration

Först och främst ska du se till att din nuvarande WordPress-stack är kompatibel med PHP 7 med hjälp av insticksmodulen PHP Compatibility Checker. När insticksprogrammet ger dig grönt ljus kan du fortsätta med uppgraderingen.

  • Om du använder delat WordPress-hosting, till exempel Bluehost, kan du uppdatera din PHP-version i fyra enkla steg. Nästan alla delade WordPress-hostingleverantörer har en cPanel eller en anpassad åtkomstpanel där du kan ändra PHP-versionen.
  • Om du använder ett förvaltat WordPress-hosting, t.ex. WP Engine, är det lätt att byta till PHP 7 – kontakta deras support så ordnar de det på ett ögonblick.
WPEngine PHP FAQ page Retrieved 26 Apr, 2017

WPEngine PHP FAQ page Retrieved 26 Apr, 2017

WP Engine PHP FAQ page, retrieved: 26 April 2017

Goda nyheter för WP Engine-användare är att den minsta tillåtna PHP-versionen är 5.6, enligt deras FAQ-sida.

Varför WP Engine? Det finns en mängd fördelar som gör WP Engine ännu mer attraktivt:

  1. Innovativ WordPress-teknik.
  2. Blåttande snabba servrar som kan hantera hundratals miljoner förfrågningar per dag.
  3. Hård säkerhet med avancerat DDoS-skydd.
  4. Överlägsen support.

De har varit i branschen i ett par år nu och har vunnit över toppmärken som National Geographic och AMD. Det jag personligen gillar mest med WP Engine är deras kultur att ge tillbaka till samhället – vare sig det handlar om att sponsra WordCamps, anordna evenemang eller bygga grymma gratis plugins som PHP Compatibility Checker.

Om du funderar på att uppgradera eller vill byta din nuvarande webbhotellleverantör kan vi varmt rekommendera WP Engine som din leverantör av hanterade WordPress-webbhotell, med planer som börjar på 29 dollar per månad.

Avslutning

Vi sammanfattar snabbt allt vi har lärt oss hittills:

  1. PHP driver 82 % av internet och driver webbplatser som Facebook och WordPress.
  2. Den rekommenderade minsta versionen av PHP är 5.6 – allt som är lägre än så är ett stort nej!
  3. PHP 7 har betydande förbättringar när det gäller prestanda, säkerhet och funktioner – det ökar enkelt WordPress prestanda med 2x utan ytterligare hårdvara.
  4. Omställning av WordPress till PHP 7 ger en mängd fördelar utan någon investering.
  5. För att byta måste du dock se till att din WordPress-installation är redo att uppgraderas till PHP 7 med hjälp av insticksmodulen PHP Compatibility Checker.
  6. Delade värdar som Bluehost har stöd för PHP 7, men det måste aktiveras manuellt.
  7. Managerade WordPress-värdar som WP Engine har stenhård kompatibilitet med PHP 7.

I slutändan fortsätter PHP att förbättras för varje version. Om du använder WordPress tillsammans med endast de populära plugins kan du vinna mycket på att uppgradera till PHP 7. Om du däremot använder många anpassade eller sällan uppdaterade plugins är det kanske bäst att vänta ytterligare några månader innan du uppgraderar. Det är dock absolut nödvändigt att du använder PHP 5.6 och inget lägre!

Använder du redan PHP7 med WordPress? Tankar?

Av Sourav Kundu

Sourav är en teknikentusiast i allmänhet, han lär sig och skriver gärna om WordPress och är intresserad av marknadsföring, psykologi och allt digitalt. Han kan nås på Twitter.