Hopp til innhold
Feil etter en oppdatering

Utvidelsen krever en nyere PHP-versjon

WordPress varsler om utdatert PHP, eller en utvidelse lar seg ikke installere. Slik oppgraderer du PHP uten at siden går ned.

Du trenger
Hostingpanel
Oppdatert

Utvidelser kan oppgi hvilken PHP-versjon de krever, i feltet Requires PHP. Kjører serveren en eldre versjon, nekter WordPress å installere, oppdatere eller aktivere utvidelsen. Hvilke PHP-versjoner du kan velge, bestemmer hostingleverandøren.

Løsningen er å oppgradere PHP på serveren. Det gjør du i hostingpanelet, ikke i WordPress. Hos de fleste hostingleverandører kan du bytte versjon selv, og bytte tilbake hvis noe slutter å virke.

Sjekk hvilken versjon du har

Gå til Verktøy → Nettstedshelse, velg fanen «Info» og åpne «Server». Der står «PHP-versjon». WordPress anbefaler PHP 8.3 eller nyere. Hvilke versjoner som fortsatt får sikkerhetsoppdateringer, står på php.net. En versjon som ikke lenger får sikkerhetsoppdateringer, bør du bytte uansett.

Slik ser meldingene ut når versjonen er for gammel:

  • Når du prøver å installere utvidelsen, er knappen «Installer nå» grå, og det står «Denne utvidelsen fungerer ikke med din versjon av PHP.»
  • Under Utvidelser står det at en ny versjon er tilgjengelig, «men den virker ikke med din versjon av PHP».
  • Kontrollpanelet viser boksen «PHP-oppdatering påkrevd» eller «Oppdatering av PHP anbefalt».

Hvilken PHP-versjon en utvidelse krever, ser du under «PHP version» i boksen til høyre på utvidelsens side på wordpress.org.

Forbered oppgraderingen

En nyere PHP-versjon kan få gamle utvidelser og temaer til å slutte å virke. Gjør dette først:

  1. Ta en sikkerhetskopi av både filene og databasen.
  2. Oppdater WordPress, utvidelsene og temaet under Kontrollpanel → Oppdateringer, og sjekk at siden virker.
  3. Slett utvidelser og temaer du ikke bruker, men behold ett standardtema fra WordPress. Ubrukte utvidelser og temaer kan fortsatt ha sikkerhetshull.
  4. Har du et testmiljø hos hostingleverandøren, prøver du den nye PHP-versjonen der først.

Bytt PHP-versjon i hostingpanelet

  1. Logg inn i hostingpanelet og finn innstillingene for PHP. I cPanel heter verktøyet MultiPHP Manager, og i Plesk velger du versjon under PHP-innstillingene for domenet.
  2. Velg domenet og en PHP-versjon som er minst like ny som versjonen utvidelsen krever.
  3. Lagre, og sjekk forsiden, wp-admin og det viktigste på siden, som skjemaer og betaling.
  4. Åpne Verktøy → Nettstedshelse. Mangler den nye PHP-versjonen moduler som WordPress krever eller anbefaler, for eksempel imagick eller intl, står det der. Modulene slår du på i PHP-innstillingene i hostingpanelet.

Finner du ingen innstilling for PHP, må hostingleverandøren bytte versjon for deg.

Hvis siden slutter å virke etter byttet

Får du en kritisk feil eller en hvit side, setter du PHP tilbake til den gamle versjonen i hostingpanelet. Da virker siden igjen med en gang, så lenge ingenting annet er endret i mellomtiden.

Så finner du ut hva som gikk galt. Slå på feilloggen: finn linjen define( 'WP_DEBUG', false ); i wp-config.php, og bytt den ut med disse tre linjene:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Finnes ikke linjen, legger du de tre linjene rett over linjen med require_once ABSPATH . 'wp-settings.php';.

Bytt til den nye PHP-versjonen igjen, last siden og åpne wp-content/debug.log. Linjen med PHP Fatal error viser hvilken fil feilen kom fra, og mappenavnet forteller hvilken utvidelse eller hvilket tema det gjelder. Oppdater eller bytt ut utvidelsen eller temaet, og prøv på nytt. Sett WP_DEBUG tilbake til false og slett debug.log når du er ferdig. Ellers kan hvem som helst lese loggen i nettleseren.

Når oppgraderingen ikke lar seg gjøre

Tilbyr ikke hostingleverandøren en ny nok PHP-versjon, må du flytte siden til en annen leverandør. Det hender også at en utvidelse eller et tema du er avhengig av, ikke virker med den nye PHP-versjonen, og at det ikke finnes noen oppdatering. Da må du bytte til en annen utvidelse eller et annet tema, eller få rettet koden. Det siste krever en utvikler som kan WordPress og PHP.