Je website geeft een 502 Bad Gateway, 503 Service Unavailable of 504 Gateway Timeout? Zo lees je het verschil, vind je de oorzaak in de logs en los je het op.
Deze drie fouten komen van de webserver of proxy vóór je applicatie, niet van PHP zelf. 502 Bad Gateway: de webserver kreeg een ongeldig of geen antwoord van PHP-FPM of een andere achterliggende dienst, bijvoorbeeld omdat die is gestopt of vastliep. 503 Service Unavailable: de dienst is tijdelijk niet beschikbaar, bijvoorbeeld door onderhoud, overbelasting of een limiet. 504 Gateway Timeout: de achterliggende dienst antwoordde niet op tijd.
Zit er een CDN of proxy voor je site, dan kan de fout ook dáár ontstaan. Kijk op de foutpagina van wie hij komt.
Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.
Staat er een naam van een CDN of proxy op de foutpagina, of komt hij van je eigen server? Een korte controle met curl laat de statuscode en server-header zien.
curl -sI https://www.voorbeeld.nl/ | head -n 5Bij een 502 staat er vaak 'connect() failed' of 'upstream prematurely closed connection'; bij een 504 'upstream timed out'.
sudo tail -n 50 /var/log/nginx/error.logBij een 502 is PHP-FPM vaak gestopt, of het socketpad in de nginx-configuratie klopt niet.
sudo systemctl status php8.3-fpm
ls -l /run/php/Staat in het PHP-FPM-log 'server reached pm.max_children', dan zijn alle processen bezig. Zoek de trage pagina's (vaak een trage query of externe aanroep) en verhoog pm.max_children alleen als het geheugen het toelaat.
sudo grep -i max_children /var/log/php8.3-fpm.logDuurt een taak terecht lang, laat dan PHP en webserver even lang wachten (zie max execution time). Beter: zet zo'n taak in een cronjob of wachtrij.
Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.
Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.
Dat wijst op een piek: te veel bezoekers of bots tegelijk, of een zware taak. Bekijk in de toegangslog wat er op dat moment binnenkwam.
Kort is het geen probleem; Google probeert het later opnieuw. Een 503 is zelfs de juiste code tijdens gepland onderhoud. Langdurige fouten kunnen wel gevolgen hebben.
Een 500 komt meestal van de applicatie zelf (een PHP-fout). 502/503/504 gaan over de verbinding tussen webserver en achterliggende dienst.
Hulp nodig van een mens? Website-onderhoud · WordPress-support · Hosting en onderhoud · Alle oplossingen