Hvorfor du skal opgradere til PHP 7+ ASAP (og hvordan du gør det lige nu)

Dette er et gæsteindlæg. Meninger og anbefalinger er forfatterens egne og ikke nødvendigvis dem af WP Rocket.

Hvad hvis jeg sagde, at du kunne fordoble dit WordPress-websteds sidehastighed på bare 10 minutter? Det lyder fantastisk, ikke?

Ja, det kan du – det eneste du skal gøre er at opgradere til den nyeste version af PHP.

Og snart har du alligevel ikke noget valg, da PHP 5.6 bliver minimumskravet til WordPress i april 2019 og erstattes af PHP 7.0 allerede i december 2019.

PHP er et af de mest populære scriptingsprog på nettet. Faktisk bruger 70 % af alle websteder, der anvender server-side programmering, PHP. Det er 8 ud af 10 websteder.

PHP driver også WordPress-websteder. Men et stort problem, som vi står over for i WordPress-fællesskabet, er, at mange websteder, virksomheder, hostingudbydere og udviklere ikke understøtter de nyeste versioner af PHP. Det er især frustrerende, når man tænker på, hvor nemt det er at opgradere.

Vi hos MailPoet er af den faste overbevisning, at alle WordPress-brugere bør opgradere til den nyeste version af PHP så hurtigt som muligt. Ikke alene vil en opgradering øjeblikkeligt forbedre dit websteds hastighed og ydeevne, men det giver også sikkerheds- og kompatibilitetsfordele.

I dag vil jeg gerne overbevise dig om, at du skal tage de 10 minutter ud af din dag, der er nødvendige for at opgradere dit websted til den nyeste version af PHP.

WordPress og dets PHP-problem

Otte ud af 10 WordPress-websteder vil snart køre på en version af PHP, der ikke længere understøttes – hvis ejere af websteder ikke handler hurtigt.

I henhold til statistikker fra WordPress.org kører 36,4 % af WordPress-webstederne på PHP 5.6. Problemet? Den aktive support for PHP 5.6 sluttede den 19. januar 2017, og det vil officielt nå sin levetid den 31. december. Det betyder, at det ikke længere vil have sikkerhedsunderstøttelse, og at websteder, der fortsætter med at bruge det, kan blive udsat for sårbarheder, der ikke er blevet patchet.

Så er der PHP 7.0, som nåede ud af drift den 3. december 2018. Den er heller ikke længere en understøttet version af PHP. Alligevel er næsten 20 % af WordPress-webstederne på PHP 7.0.

Hvis du tænker: “Var PHP 7.0 ikke lige blevet udgivet?!” Det blev det… for to år og 11 måneder siden. Som med enhver anden software har PHP en udgivelseslivscyklus, som det skal holde sig til for at kunne komme videre med forbedringer og nye funktioner (ligesom WordPress). Hver større version af PHP understøttes normalt fuldt ud med fejlrettelser og sikkerhedsrettelser i to år efter udgivelsen.

Og så er der de andre 25,2 % af websteder, der allerede kører på ældre versioner af PHP uden understøttelse, herunder 5.2, 5.3, 5.4 og 5.5.

Så i alt kører i skrivende stund hele 81,3 % af WordPress-webstederne, eller er ved at køre, en version af PHP, der ikke understøttes.

Men kun 18,6 % af WordPress-webstederne kører på de nyeste understøttede versioner – PHP 7.1 og PHP 7.2.

Hvorfor kører så mange WordPress-websteder stadig på ældre versioner af PHP?

Der er mange og forskelligartede grunde til, at websteder fortsat kører på forældede og ikke-understøttede versioner af PHP, men disse er de mest almindelige faktorer.

Webstedsejere ved det ikke eller er ligeglade

For mange webstedsejere, især dem, der ikke er teknisk interesserede, er det eneste, de bekymrer sig om, at deres websted er oppe og køre, og at det fungerer godt og ser godt ud. Hvis de ikke behøver at opgradere deres version af PHP, hvorfor skulle de så have lyst til det?

I mange tilfælde er det op til udviklere og webhosts at presse disse webstedsejere til at opgradere (for deres eget bedste!).

Det er tidskrævende for udviklere af plugins og temaer

For udviklere med ældre plugins og temaer indebærer opdatering til de nyeste versioner af PHP en opdatering af deres kode sammen med omfattende test for at sikre kompatibilitet. De ønsker trods alt ikke at ødelægge deres brugeres websteder.

Webhosts ønsker ikke at ødelægge websteder

Hvad det i bund og grund går ud på, er, at webhostingvirksomheder ikke ønsker at ødelægge deres kunders websteder. Selv om PHP 5.6 blev udgivet i 2014, og PHP 7.0 er ved at være udtjent, har webhotellerne udskudt opdateringen af deres servere til de nyeste versioner af PHP (7.1 eller 7.2) på grund af risikoen for at ødelægge plugins og temaer.

Med 32,4 % af alle websteder, der bruger WordPress, er det mange supportbilletter, hvis webhotellerne skubber opdateringer, og tingene går galt.

Det betyder, at hvis du vil have dit websted til at køre med den nyeste version af PHP, skal du selv tage initiativ til at opgradere det eller presse din hostingudbyder til at hjælpe dig.

Hvorfor kræver WordPress ikke nyere versioner af PHP?

WordPress-projektet har ikke tvunget brugerne til de nyeste versioner af PHP, fordi… Tja, det er kompliceret. Det er en blanding af alt det, jeg dækkede i afsnittet ovenfor, og så er det også at have ansvaret for at administrere verdens mest populære indholdsstyringssystem.

Men tingene vil ændre sig i 2019.

På WordCamp US i december 2018 blev det annonceret, at PHP 5.6 vil blive den mindst understøttede version i første halvdel af 2019, og minimumsversionen vil igen blive hævet til PHP 7.0 i anden halvdel af 2019 – hvis alt går efter planen.

Disse ændringer har været længe undervejs, og vi kan takke Yoast for at spille en stor rolle i at skubbe brugerne til at opgradere. I begyndelsen af 2017 med udgivelsen af Yoast SEO 4.5 blev der tilføjet en meddelelse til WordPress-dashboardet for Yoast-brugere. Den opfordrede ejere af websteder, hvis websteder lå på en server, der kørte en forældet version af PHP, til at opdatere til en ny version.

Sidens ejere kunne kun deaktivere naggen ved at opdatere PHP.

Dette initiativ, kaldet Yoast WHIP-projektet, beviste, at det at bede brugerne (eller “genere” dem, som Yoast siger i den oprindelige Trac-billet, de skrev om sammenlægning af WHIP i WordPress-kernen) – om at opgradere – faktisk kunne skabe ændringer på en meningsfuld måde.

Remkus de Vries, Manager Partnerships and WordPress Community Liaison hos Yoast, fortalte mig, at deres team i lang tid så antallet af installationer til nyere versioner af PHP fordobles som en procentdel af det samlede antal.

Som følge af WHIP, sammen med den positive stigning i antallet af PHP-opgraderinger, blev Servehappy-projektet lanceret i midten af 2017.

Men for nylig, i begyndelsen af december, foreslog WordPress-kernebidragyder Gary Pendergast en opdatering af minimumsversionerne af PHP. Planen, som Matt Mullenweg bekræftede i sin State of the Word på WordCamp US, vil gøre PHP 5.6 til den krævede minimumsversion for WordPress i april 2019, mens PHP 7.0 bliver minimum “så tidligt som” december 2019.

Da Matt annoncerede forslaget på WCUS, fik det et enormt bifald – langt mere bifald end de fleste nyheder om Gutenberg. For WordPress-fællesskabet er det en velkommen nyhed at gå videre med de nyeste versioner af PHP.

Selv om en opjustering af de mindste PHP-versioner ikke nødvendigvis vil ændre apatien, bevidstheden eller udviklernes støtte til nyere PHP-udgaver fra den ene dag til den anden, vil fristerne helt sikkert hjælpe med at sikre, at WordPress holder trit med PHP i de kommende år, efterhånden som det udvikler sig.

I henhold til WordPress.org:

“Det umiddelbare mål er at etablere en understøttende struktur og uddannelse/ressourcer til webstedsejere osv., så vi mere aktivt kan reducere antallet af eksisterende aktive WordPress-websteder på ældre PHP EOL-versioner og dermed forbedre sikkerheden og ydeevnen på nettet.”

Hvorfor du bør opgradere til PHP 7+

Hvis ovenstående ikke har overbevist, så er der mere. Ikke alene er PHP 7.2 nu officielt opført som et anbefalet krav for at køre WordPress, men en opgradering kommer også med masser af hastigheds-, ydelses- og sikkerhedsfordele.

Hastighed og ydeevne

Hvis dit websted kører på en ældre version af PHP, vil en opdatering til den nyeste version give dig øjeblikkelige ydelsesgevinster – mere end hvad enhver justering i kanterne af dit WordPress-websted vil give dig.

Da PHP 7.0 blev frigivet, blev det bredt rost for at give betydelige ydelsesgevinster. Faktisk viser officielle PHP-benchmarks med WordPress 4.1.1, at PHP 7.0 gør det muligt for servere at udføre dobbelt så mange forespørgsler pr. sekund som PHP 5.6 med mindre end halvdelen af latenstiden.

Webhost Kinsta har også for nylig offentliggjort benchmarks for ydeevne og sammenlignet PHP 5.6, PHP 7.0, PHP 7.1, PHP 7.2 og PHP 7.3. Deres resultater viser, at PHP 7.3 udfører 3x så mange forespørgsler pr. sekund sammenlignet med PHP 5.6.

Hvis du har brug for yderligere beviser på de ydelsesgevinster, du får, når du opgraderer, har tidlige benchmarks fra open source-nyheds- og anmeldelsessiden Phoronix vist, at PHP 7.3, som blev udgivet i slutningen af 2018, er ca. 5 % hurtigere end PHP 7.2.

Support og kompatibilitet

Kompatibilitet er en anden stor grund til, at du ønsker at være på den nyeste version af PHP. Som med ethvert stykke software vil udviklere kun understøtte ældre versioner i et vist tidsrum. For eksempel er ældre versioner af iPhones ikke kompatible med den nyeste version af iOS, hvilket gør dem praktisk talt ubrugelige.

Det handler om, at aktiv understøttelse af gammel software og sikring af bagudkompatibilitet er omkostningsfuldt, mest i form af tid for udviklere af plugins og temaer. De ønsker at bevæge sig fremad med at tilføje nye funktioner og sikkerheds- og ydelsesforbedringer til deres produkter – og understøttelse af ældre versioner af PHP holder dem tilbage.

I MailPoet var vi nødt til at bevæge os fremad for vores egen skyld og har helt droppet understøttelsen af PHP 5.2, 5.3, 5.4 og 5.5. Dette sænkede vores rækkevidde for mange brugere, men øgede vores teams lykke betydeligt – det betød, at vi kunne fokusere på at lave et større og bedre produkt!

Faktisk set dukker der jævnligt problemer med ældre versioner af PHP op i WordPress.org supportfora. Hvis du søger efter “T_Function”, er der mere end 2.700 resultater.

Som WPMU DEV’s Predrag Dubajic hjælpsomt forklarer i denne supporttråd for Hustle-plugin’et, vises T_Function-fejl normalt, når en bruger kører en forældet PHP-version:

Sikkerhed

En anden grundlæggende grund til, at du bør opgradere, er for sikkerheden på dit WordPress-websted. Ved at køre den nyeste version af PHP sikrer du, at dit websted er beskyttet mod sårbarheder, der er identificeret i ældre versioner af PHP.

For eksempel er her en øjenåbner: Ifølge datasource for sikkerhedssårbarheder CVE Details blev der fundet 18 kendte sårbarheder i PHP i år. I 2017 blev der opdaget 43 sikkerhedshuller, og i 2016 blev der fundet hele 107 sårbarheder.

Disse sårbarheder omfatter DoS, udførelse af kode, SQL-injektion, XSS og mange andre typer af huller.

Det er bedste praksis i WordPress at holde dine versioner af WordPress-kernen, plugins og temaer opdaterede. På samme måde bør du også holde din version af PHP opdateret for at undgå sikkerhedshuller.

Tjek af PHP-kompatibilitet

Håbenligt har jeg nu overbevist dig om fordelene ved at opdatere til den nyeste version af PHP. Men før du går i gang med at opdatere, er der et par ting, du skal gøre først: Tjek, hvilken version af PHP du kører på, og tjek også, om dit websted er kompatibelt med den nyeste version.

Er du ikke sikker på, hvilken version af PHP dit websted kører på? Her er, hvordan du kan tjekke det.

Installer det gratis plugin til visning af PHP-version, som du kan downloade fra WordPress-pluginoplageret. Når du aktiverer dette plugin, vil det vise din version af PHP i widgetten “At a Glance” i WordPress-dashboardet.

Du bør også kontrollere, at dine plugins og temaer er kompatible med den nyeste version af PHP, før du opgraderer. WP Engine’s plugin PHP Compatibility Checker er det bedste værktøj til dette job. Med dette plugin kan du scanne dit websted og kontrollere, hvilke plugins der er kompatible med de tre nyeste versioner af PHP.

Når scanningen er udført, vil den vise en liste over dine plugins og fremhæve alle dem, der indeholder kode fra ældre versioner af PHP, som nu er inkompatibel med den version, du lige har testet.

Det er vigtigt at skifte detaljerne for alle plugins, der vises med tagget “Ukendt”, som f.eks. Caldera Form ovenfor. Plugins som dette springes over, fordi de er for store til at blive scannet.

Hvis du opdager, at et plugin, du bruger, ikke er kompatibelt med den nyeste version af PHP, eller giver dig ukendte resultater eller advarsler, skal du kontakte plugin-forfatteren og bede om support.

Sådan opgraderer du til den nyeste version af PHP

Når du har testet dit WordPress-websted for kompatibilitet – og du har kørt en sikkerhedskopi, bare for at være på den sikre side – er du klar til at opgradere din version af PHP.

Det er bedst at opgradere dit staging-site først, før du opgraderer dit produktionssite, bare for at være på den sikre side og sikre, at der ikke er problemer med dit live-site.

Opgradering af PHP med cPanel

Hvis du er hos en host, der giver cPanel-adgang til dit site, kan du blot logge ind på cPanel og ændre din version af PHP der.

Det eneste, du skal gøre, er at rulle ned til afsnittet Software og vælge “Vælg PHP-version.”

På den næste side skal du vælge den PHP-version, du vil bruge, og klikke på “Set as current.”

Det er alt, hvad du behøver at gøre. Opdater dit websted for at kontrollere, at det fungerer korrekt, men hvis du har kontrolleret kompatibiliteten, burde dit websted være i orden.

Opgradering af PHP på din egen server

Hvis du administrerer din egen server, kan du selv opgradere til PHP 7.2 ved hjælp af de migreringsvejledninger, der findes i dokumentationen på php.net. Det er vigtigt, at du er meget opmærksom på nye funktioner og features samt eventuelle forældede funktioner, der kan påvirke dit websted.

Migrerer fra PHP 5.6.x til PHP 7.0.x
Migrerer fra PHP 7.0.x.x til PHP 7.1.x
Migrering fra PHP 7.1.x til PHP 7.2.x

Bede din webhost om at opgradere PHP

Hvis du ikke har adgang til cPanel eller en anden relativt enkel måde at opgradere PHP på, skal du kontakte din webhost. Opgraderingsprocessen bør være nem for dem uden at påvirke dit websted.

WooCommerce anbefaler at sende denne e-mail til din hostingudbyder, men her er en ændret og opdateret version:

Kære vært,

Jeg kører et WordPress-websted på en af dine servere, og WordPress.org anbefaler PHP 7.2 som den krævede version af PHP på deres side om krav: https://wordpress.org/about/requirements/

Kan du fortælle mig, om min hosting understøtter PHP 7.2, og hvordan jeg kan opgradere?

Spændt på dit svar.

Hvis din vært gør det svært at opgradere, eller endda nægter at gøre det for dig, er det på tide at finde en ny vært.

Det er på tide at skifte til PHP 7+

Håber jeg har givet dig et tilstrækkeligt overbevisende argument her til at overbevise dig om at opgradere til den nyeste version af PHP. Ikke alene vil en opgradering give dig øjeblikkelige ydelsesgevinster, men dit websted vil også være bedre beskyttet mod sikkerhedssårbarheder, der findes i ældre versioner af PHP.

Hvor du opgraderer dit websted, skal du sørge for at kontrollere webstedets kompatibilitet med den PHP-version, du ønsker at skifte til, og køre en sikkerhedskopi. Endnu bedre er det at oprette en staging-version af dit websted og teste det der, før du opgraderer dit live-websted.

Sidst, hvis du støder på webhosts eller plugin- eller temaudviklere, der gør det svært for dig at opgradere PHP, så skift til en host eller et andet produkt, der er kompatibelt! På den måde gør du en indsats og sikrer, at værter og udviklere, der ikke bruger de nyeste versioner, føler sig presset til at opgradere.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.