Lokale testomgevingen zijn erg handige tools voor WordPress developers en website beheerders. Hoewel we een voorliefde hebben voor DevKinsta, onze eigen gratis lokale ontwikkelingstool, MAMP is een uitstekende manier om er een WordPress-instantie op te zetten. Maar het kan lastig zijn om aan het testen te gaan wanneer je geen toegang hebt tot je website, en dat is nou precies wat het resultaat van een MAMP HTTP Error 500 is.

Deze foutmelding is vooral lastig omdat je zelden handige informatie of tips krijgt over de oorzaak van het probleem. Gelukkig kan je de oorzaak meestal vinden in PHP fouten, een beschadigd .htaccess bestand, of problematische WordPress plugins, die allemaal vrij eenvoudig te verhelpen zijn.

In dit artikel gaan we op zoek naar de oorzaken voor deze fout, en kijken we naar drie eenvoudige stappen om de fout op te lossen en je MAMP installatie weer normaal te laten draaien. Snel beginnen dus!

Een introductie over de HTTP Error 500

De Hypertext Transfer Protocol (HTTP) 500 Internal Server Error is een foutmelding die soms verschijnt wanneer je een pagina probeert te laden.

Dit is een heel algemene container-fout, die van alles kan betekenen. Het komt er in feite op neer dat de server de gewenste pagina niet kon laden om één of andere reden, maar dat er ook geen specifiekere foutcode gevonden kon worden:

Een HTTP 500 error in Google Chrome.
Een HTTP 500 error in Google Chrome.

De weergave van de fout is afhankelijk van de precieze browser die je gebruikt, en sommige websites gebruiken een eigen foutpagina. Wat je ziet kan dus iets afwijken van bovenstaande afbeelding, maar het verhaal komt op hetzelfde neer.

Dit is een frustrerende foutmelding, met name omdat het zo ontzettend vaag is. Wanneer je dit ziet binnen een MAMP installatie kan het nog lastiger zijn, omdat er meer potentiële oorzaken zijn.

In algemeen bij WordPress zijn de meestvoorkomende oorzaken van een HTTP 500 fout problemen met een plugin of een beschadigd of ontbrekend .htaccess bestand . Dit bestand handelt de serverconfiguratie af, dus als er een probleem is kan dat verschillende dingen betekenen.

Een andere mogelijke oorzaak specifiek voor foutmeldingen binnen MAMP komt om te hoek kijken wanneer je website een kritieke PHP fout tegenkomt. Dit is vaak het resultaat van verkeerd geconfigureerde bestanden of foute code. In dit gevallen zal uit het bekijken van de PHP errorlogs van je installatie meestal blijken wat het precieze probleem is.

Zo los je de HTTP 500 foutmelding in MAMP op

In dit deel zullen we kijken naar het oplossen van elke mogelijke oorzaak van een error 500 op een MAMP WordPress installatie. We raden je aan om de stappen in onderstaande volgorde bij langs te lopen, en pas een stap verder te gaan als het probleem niet verholpen is.

Stap 1: Controleer de PHP errorlog en los problemen met code op

De eerste stap die je moet zetten is het bekijken van de PHP errorlog van je MAMP installatie. Dit logbestand is een tekstbestand met een chronologische weergave van alle PHP fouten die de installatie tegen is gekomen, en als er problemen met PHP code zijn geweest, met welk bestand dit dan te maken had.

Je kan de errorlog vinden in de map met logs binnen MAMP. Bij Windows is het bestandspad C:MAMP\logs. En bij een Mac is dat /Applications/MAMP/logs. Wanneer je daar bent, zoek je naar een bestand dat php-error heet.

PHP error log in MAMP.
PHP error log in MAMP.

Open het bestand en zoek naar regels die wijzen op problemen. Ze beginnen meestal met “PHP Parse error”. Daarbij vermelden ze meestal precies wat het probleem is en het samenhangende bestand waar de regel problematische code in staat.

De precieze problemen kunnen verschillen. In dit voorbeeld op Stack Overflow had de gebruiker puntkomma’s aan het eind van enkele regels. Dat zouden komma’s moeten zijn, en door dit even te veranderen was het hele probleem meteen weg.

Wanneer de errorlog helemaal leeg is, of als het oplossen van de errors de “Error 500” niet oplost, kan je doorgaan naar de volgende stap.

Stap 2: Maak een nieuw .htaccess bestand

De volgende methode is het maken van een nieuw .htaccess bestand om te zien of dat de boel verhelpt. Dit belangrijke WordPress bestand is te vinden in de root van je website map binnen de MAMP map.

Bij Windows is het standaardbestandspad naar je website C:MAMP\htdocs. En bij Mac is dat /Applications/MAMP/htdocs.

Wanneer je die map gevonden hebt, zoek je het .htaccess bestand:

.htaccess bestand voor Apache configuratie.
.htaccess bestand voor Apache configuratie.

Geef dit bestand een nieuwe naam, bijvoorbeeld “.htaccess-old”. Hierdoor zal dit bestand niet meer geladen worden door WordPress. Probeer nu je website opnieuw te laden. Werkt alles nu wel, dan lag het probleem inderdaad bij dit bestand.

De laatste stap is dan het aanmaken van een nieuw .htaccess bestand. Dit kan je doen door naar je WordPress dashboard te gaan, en dan naar Settings > Permalinks:

Opslaan van permalinks in WordPress.
Opslaan van permalinks in WordPress.

Verander verder niks op deze pagina. Ga alleen helemaal naar beneden en klik op Save changes. Hierdoor wordt een .htaccess bestand aangemaakt, dat je nodig hebt om 404 fouten te voorkomen op je pagina’s. Je kan nu het oude bestand dat je een andere naam had gegeven veilig weggooien.

Stap 3: Deactiveer en test je plugins

Werken bovenstaande methoden niet, dan is de laatste stap het uitschakelen van alle plugins op je website. Lost dat je probleem op, dan kan je ze vervolgens weer één-voor-één aanzetten tot je de foutmelding weer krijgt. Hierdoor weet je dat de laatst geactiveerde plugin de boosdoener is, en kan je die vervangen of contact opnemen met de betreffende developer.

Als je wel toegang hebt tot je WordPress dashboard dan kan je deze methode gebruiken door naar Plugins > Installed Plugins te gaan. Selecteer ze allemaal en kies Deactivate in het Bulk actions dropdownmenu bovenaan in het scherm:

Gebruik Bulk actions om alle plugins op een WordPress website te deactiveren.
Gebruik Bulk actions om alle plugins op een WordPress website te deactiveren.

Zodra ze gedeactiveerd zijn, kan je de problematische pagina opnieuw proberen te openen. Als dat nu wel werkt, kan je ze om de beurt activeren door elke keer op Activate te klikken naast een plugin.

Na het opnieuw activeren van elke individuele plugin ververs je elke keer de pagina. Wordt de pagina gewoon geladen, dan ga je door met het opnieuw activeren van de volgende plugin. Ga hiermee door tot je de foutmelding ziet, en dan heb je de boosdoener gevonden.

Wanneer je geen toegang hebt tot je WordPress dashboard vanwege de error 500, dan kan je alle plugins uitschakelen via het bestandssysteem. Ga terug naar de map van je website in MAMP en open de map wp-content. Daar vind je een map die plugins heet:

Geef die map een andere naam om in één keer alle plugins uit te schakelen, waardoor je weer toegang tot je site krijgt.
Geef die map een andere naam om in één keer alle plugins uit te schakelen, waardoor je weer toegang tot je site krijgt.

Geef de map bijvoorbeeld de naam “plugins-disabled”, zodat je alles deactiveert en helder overzicht houdt. Je zou nu weer toegang tot je WordPress dashboard moeten hebben.

Ga erheen en log in, en geef de map weer de oude naam “plugins”, terwijl je het dashboard open houdt. Je zou nu alle plugins in de lijst Plugins in je dashboard moeten zien, en je kan ze meteen allemaal deactiveren en één-voor-één activeren zoals hierboven beschreven.

Samenvatting

Een error 500 foutmelding kan het testen van je WordPress website abrupt blokkeren. De fout kan erg frustrerend zijn, maar hoeft niet al te veel tijd te kosten. Alhoewel de foutmelding zelf nogal cryptisch is, kan je meestal vrij makkelijk de boosdoener vinden.

Om de HTTP Error 500 in MAMP op te lossen, kan je de volgende stappen proberen:

  1. Controleer de errorlog van MAMP en los eventuele problemen met code op.
  2. Maak een nieuw .htaccess bestand.
  3. Schakel al je WordPress plugins uit en test ze één-voor-één op problemen.

Wanneer je een foutvrije ervaring wil op je live website, overweeg je dan te laten hosten door Kinsta. Onze applicatie hosting, database hosting en managed WordPress hostingpakketten zorgen ervoor dat je website altijd beschikbaar is wanneer je gebruikers dat willen.

En vergeet niet om DevKinsta te bekijken als een krachtig alternatief voor MAMP om lokaal te testen!