Timdehoog.nl bijgewerkt naar PHP 8.0 via een stappenplan

Begin deze maand heb ik de PHP versie op mijn server bijgewerkt van 7.4 naar 8.0. De eerste reden hiervoor is dat PHP 7.4 EOL (end of life) is op 28 november 2022 en dus geen updates meer ontvangt. De tweede reden is dat WordPress, plugins en thema’s na verloop van tijd niet meer werken op oudere PHP versies.

Ik was er eigenlijk wel een beetje huiverig voor dat er dingen op mijn website kapot zouden gaan. Ik maak gebruik van WordPress wat zonder problemen werkt op PHP 8.0. Daarnaast gebruik ik een thema en 20 plugins. Vooral bij de thema’s en plugins bestaat de kans dat de code niet geschikt is voor PHP 8.0.

De beste manier om te upgraden naar PHP 8.0:

Dat is door jouw website te kopiëren naar een (tijdelijke) testomgeving. Voer daar de upgrade uit en test jouw website. Alleen biedt niet iedere webhosting de mogelijkheid om een tweede website op de hostingomgeving te plaatsen of per hostingomgeving de PHP versie in te stellen.

Ik heb bij Antagonist wel de mogelijkheid om mijn website op een tweede hostingomgeving te plaatsen. Alleen maak ik hier geen gebruik van.

De eerste reden hiervoor is dat je bij Antagonist in een paar minuten kan wisselen van PHP versie via DirectAdmin. De tweede reden is dat ik in het dagelijks leven websites ontwikkel en dus snel problemen kan opsporen en oplossen.

Hoe ik Timdehoog.nl bijgewerkt heb naar PHP 8.0:

Onderstaand stappenplan is alleen handig als je binnen een paar minuten kan wisselen tussen een PHP versie. Bij sommige hostingleveranciers kan het tot 20 minuten duren voordat de nieuwe PHP versie is ingesteld. Het zou vervelend zijn als je 20 minuten wacht om er achter te komen dat jouw website niet meer werkt en je weer 20 minuten moet wachten voordat hij wel weer werkt.

Onderstaand stappenplan heb ik uitgevoerd op de productie omgeving van mijn website. Binnen een half uur was ik klaar en er waren geen fouten die ik op moest lossen.

  1. Controleer plugins en verwijder de overbodige, dubbele of uitgeschakelde plugins
  2. Controleer thema’s en verwijder de uitschakelde thema’s
  3. Installeer de laatste updates van WordPress, plugins en thema
  4. Controleer of de website op PHP 7.4 nog steeds juist werkt
  5. Activeer in wp-config.php de WP_DEBUG opties
  6. Werk PHP 7.4 bij naar PHP 8.0
  7. Test de website door rond te klikken aan de voorkant, zie je vreemde dingen?
  8. Test de website door rond te klikken aan de achterkant, zie je vreemde dingen?
  9. Wijzig een pagina, voeg een blog bericht toe, upload een afbeelding
  10. Controleer of alle plugins nog werken door deze te gebruiken
  11. Controleer het debug.log van WordPress in /htdocs/wp-content of er meldingen zijn
  12. Controleer het error_log van de server, dit vind je meestal in DirectAdmin of /logs/
  13. Zijn er fouten? Onderzoek dan d.m.v. van Google of je deze op kan lossen
  14. Werkt de website goed? Dan kan je blijven op PHP 8.0, anders moet je terug naar 7.4
  15. Schakel WP_DEBUG weer uit in wp-config.php

Je kan niet upgraden naar PHP 8.0 wegens fouten:

Probeer erachter te komen waarom de fouten worden veroorzaakt. Vaak komt het doordat de programmeur van de plugin of het thema PHP functies gebruikt die niet meer beschikbaar zijn.

Bij iedere grote nieuwe versie komen er functies bij en verdwijnen er functies. PHP is hier overigens zeer transparant in. De makkelijkste manier is daarom om de fout te melden bij de programmeur via zijn/haar website of WordPress.org.

De foutmelding plakken in Google kan soms ook tot een oplossing leiden. Of je vervangt de plugin door een andere die wel werkt op PHP 8.0.

Dit betekent wel dat je tijdelijk weer terug moet naar PHP 7.4 waarop de problemen zich niet voordoen. Alternatieve oplossing is om zelf de fouten op te lossen en de oplossing met de programmeur van de plugin te delen. Dit is tevens de gedachte achter open source.

Laat een reactie achter

Your email address will not be published. Required fields are marked *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.