Har din hemsida kraschat efter uppdatering av PHP?

Har man en hemsida behöver man regelbundet uppdatera php-version. Det här görs dock ibland automatiskt av webbhotellen, och det kan medföra att hemsidor plötsligt inte längre fungerar. I skrivandets stund, november 2022, så är Loopia och One.com i full gång med att uppdatera sina kunder och det betyder att en del plötsligt har en hemsida som inte längre fungerar.

Man kan ju ha en del åsikter om den tvångsuppgraderingar i sig, PHP 7.4 är ju fortfarande gångbart och underhålls med säkerhetsuppdateringar fram till 28 november 2022, dvs den är inte än på ett tag lastgammal, men det är en annan fråga. Det finns absolut goda skäl till att se till att användare inte kör sina hemsidor på allt för gamla php-versioner.

WordPress däremot har när det här skrivs PHP 7.4 som rekommenderad version och enbart beta-stöd för PHP 8.x, så även WordPress kan ju tyckas missmatcha lite med PHPs timeline, även om stora delar av WordPress med teman och tillägg redan idag fungerar alldeles utmärkt med PHP 8.x.

Med detta sagt så kommer man förr eller senare behöva göra jobbet att få hemsidan kompatibel med nyare PHP-versioner, både av tekniska skäl och av säkerhetsskäl. Så det kanske inte är så dumt att man blir tvingad till det – det är ju lätt hänt att man prioriterar annat i sitt företagande än tekniskt underhåll av hemsidan om man inte har just hemsidor som affärsidé eller specialintresse.

Varför ska man uppdatera PHP-versionen?

Orsaken är egentligen samma som för alla andra uppdateringar man gör. Det handlar både om funktionalitet, att hänga med i den tekniska utvecklingen som ser till att hemsidan är snabb och fungerar, men främst handlar det kanske ändå om säkerhet. Alla versioner har ett ”end-of-life”, vilket betyder att efter det datumet så kommer inga säkerhetsuppdateringar göras längre. I praktiken betyder det att säkerhetshål som upptäcks inte heller kommer att täppas igen. Och det är den främtsta anledningen till att man sfaktiskt ska uppdatera om du frågar mig.

Generellt kan man säga att man ska se över sin php-version årligen för att uppdatera PHP-versionen vid behov, för ungefär årligen så utgår en version, exakta datum hittar du här.

Vilka hemsidor kraschar?

Alla hemsidor kraschar såklart inte på grund av att man uppdatera php-versionen. Jag har uppdaterat de flesta av de hemsidor jag sköter till php 8.1 och ingen har kraschat, men hemsidor som inte underhålls tillräckligt väl kan få tekniska problem av lite olika skäl.

Oftast beror en sådan krasch på att ett tema eller ett tillägg inte underhålls av leverantören. De som har byggt temat eller tillägget har alltså inte uppdaterat detta för att funka även med nyare PHP-versioner.

Hur åtgärdar jag problemet?

Den tekniskt lite mer komplicerade versionen, som kräver att man ändrar kod eller felsöker via felloggar, kommer jag inte beskriva nu. En kortare beskrivning för detta hittar du t.ex. här.

Grundmetoden är egentligen att helt enkelt avaktivera det tillägget eller temat som inte är kompatibelt, och har vi hittat det, så kommer hemsidan att fungera igen. Det här beror då lite på om du har tillgång till att välja den äldre PHP-versionen fortfarande så du kommer åt adminpanelen. Har du inte det, behöver du komma åt din hemsida via FTP/SSH.

Vi börjar med att gå igenom tilläggen, eftersom det oftast inte har lika stor påverkan som ett byte av temat har.

Jag kan ändra php-version

Man kan uppdatera PHP-versionen i webbhotellets panel, och här ser de flesta webbhotell lite olika ut. Jag kommer inte gå in på det, webbhotellet bör ha en hjälpfunktion där du kan ta reda på hur du gör. Vi utgår ifrån att du kan ändra tillbaka till en PHP-version vid vilken din hemsida funkar (just nu är det troligen php 7.4).

Grundläggande

  • Se till att det finns en aktuell säkerhetskopia på din hemsida, antingen via webbhotellet, eller via ett tillägg, t.ex. Duplicator. Det här är alltid en klok utgångspunkt, även om de åtgärder vi gör är reversibla.
  • Se till att alla tillägg och ditt tema är uppdaterat till senaste version.
  • Funkar hemsidan fortfarande inte när alla tillägg och temat är uppdaterat? Då behöver vi börja felsöka.

Hitta temat eller tillägget som inte är kompatibelt

Nu behöver vi ta reda på vilket eller vilka tillägg/tema det är som spökar och som inte är kompatibelt med den nya PHP-versionen. Detta kan man såklart göra genom att helt enkelt testa: Avaktivera alla tillägg, uppgradera PHP, och sedan aktivera ett i taget och se när hemsidan kraschar.

Funkar hemsidan inte heller med alla tillägg avaktiverade? Då behöver vi kolla temat, läs vidare här.

Om man inte vill börja med att testa sig fram till en lösning, så kan man kolla sitt tema och tillägg och se när det uppdaterades senast och om de är kompatibla med senaste WordPressversionen. På det sättet kan man ringa in komponenter som mer sannolikt skapar problem – nämligen sådana som inte har uppdaterats på länge.

Enklast hittar man denna information för tilläggen genom att via alla tillägg i adminpanelen. Där kan man klicka på ”visa uppgifter”:

Kolla uppgifter om tillägg efter uppdatera php

När man klickat på ”visa uppgifter” dyker det upp en ruta med information om tillägget, och där kan man bland annat se när tillägget senast uppdaterades från leverantören. Är det här flera månader sedan, bör man ha det i åtanke. Är det mer än ett år sedan bör man dra öronen åt sig. (Här finns det såklart undantag för tillägg som har väldigt enkla funktioner, men det är en bra grundregel.)

Intressant är också att se för vilka WordPress-versioner det är testat, i skrivandets stund är det WordPress 6.1.1 som är den aktuella versionen och det bör alltså alla dina tillägg vara kompatibla med. Har ett tillägg inte uppdaterats på länge, men är angivet som kompatibelt med aktuell WordPressversion, så är det ändå ganska troligt att det är ett tillägg som underhålls som det ska – men behovet att skicka ut en uppdatering har inte funnits.

Avaktivera alla tillägg som verkar ouppdaterade eller inte är kompatibla med åtminstone WordPress 6.0 (i skrivandets stund), sedan testar du att uppdatera PHP-version och ser om hemsidan funkar som den ska.

Sedan kan du börja aktivera de tillägg du har avaktiverat, tills du hittar vilket, eller vilka det är som får hemsidan att krascha. (Kraschar hemsidan, så nedgradera din PHP-version igen och avaktivera tillägget som fick hemsidan att krascha, innan du fortsätter).

Hemsidan funkar inte i php 8.1 med alla tillägg avaktiverade

När det gäller temat, så sök i din favoritsökmotor efter temats hemsida och läs på där upp till vilken php-version det är testat, vilka WordPressversioner det är kompatibelt med och när det senast uppdaterades. Installera något av WordPress egna standardteman, twentytwentythree är det senaste aktuella till dags dato.

Aktivera detta tema och uppdatera php. Med det här temat, och alla tillägg avaktiverade, så borde hemsidan inte krascha. Gör det det, så är det något annat om är fel, och den här guiden kommer inte leda dig till lösningen av problemet, felet ligger mest troligen någon annan stans än i temat eller tilläggen.

Om hemsidan funkar med det nya temat, så kan du fortsätta till att testa tilläggen enligt ovan.

Kan du inte ändra din PHP-version?

Om du inte kan ändra din PHP-version, så kan du göra samma test som ovan för dina tillägg, men via din hemsidas ”filsystem”. Det här är betydligt snabbare än att testa via panelen, men det kräver att man kan (eller vill lära sig) att använda FTP/SSH.

Kanske kan du komma åt ditt filsystem via ditt webbhotells panel. Om inte, så behöver du installera t.ex. FileZilla och hitta dina inloggningsuppgifter för FTP/SSH.

Så här avaktiverar du tillägg via filsystemet

Du avaktiverar alla tillägg genom att döpa om mappen plugins, t.ex. till xplugins.

På så sätt kan du enkelt och snabbt hitta om det är enbart något eller några tillägg som skapar problemen. Funkar hemsidan när du har döpt om plugins-mappen? Bra! Då kan vi leta vidare!

Döp tillbaka mappen så att den heter ”plugins” igen. Gå in i mappen, och då kommer du se att den innehåller undermappar, en för varje tillägg du har:

  • Döp nu om alla mappar, t.ex. genom att sätta ett ”x” framför namnet. ”Flamingo” blir till ”xflamingo”.
  • Kontrollera att hemsidan funkar.
  • Sedan aktiverar du ett tillägg i taget genom att ta bort ”x” i namnet, och så kollar du om hemsidan fortfarande funkar.
  • När du hittar ett tillägg som får hemsidan att krascha, sätt tillbaka ”x” i namnet, och fortsätt med nästa tillägg.
  • När du har gått igenom alla tillägg, vet du vilket eller vilka tillägg det är som spökar. Det här tillägget behöver du radera från hemsidan och byta ut mot något annat, om du vill ha kvar funktionen.

Jag hoppas du får din hemsida att funka igen med denna guide! Känner du att du trots allt vill ha hjälp med att uppdatera PHP eller felsöka efter en misslyckad uppdatering? Varmt välkommen att kontakta mig!

Scroll to Top