Fout 500 op uw PrestaShop ?
wij lossen het vandaag op.
Diagnose en oplossing van PrestaShop fout 500 door een gecertificeerd expert
HTTP ERROR 500, Internal Server Error, wit scherm met een 500 in de header :
uw webshop is zichtbaar maar onbruikbaar. Wij lezen de logs, identificeren de grondoorzaak
en zetten de site in minder dan 2 uur weer online in 9 van de 10 gevallen.
De 9 gezichten van de PrestaShop fout 500
Beschrijf wat u ziet. Hoe nauwkeuriger, hoe sneller de diagnose.
HTTP ERROR 500
This page isn't working
→ Fatale serverfout
500 Internal Server Error
The server encountered an
internal error...
→ Standaard Apache-pagina
500 Internal Server Error
nginx/1.x.x
→ PHP-FPM down of gecrasht
Fatal error: Allowed memory
size of 134217728 bytes
exhausted
→ Memory limit overschreden
PHP Fatal error: Uncaught
Error: Class "XYZ" not
found in /classes/...
→ Gebroken override / ontbrekende class
PHP Fatal error: Uncaught
Exception in /modules/
monmodule/hook.php:42
→ Falende module
mod_fcgid: HTTP_INTERNAL_
SERVER_ERROR error,
premature end of script
→ Timeout PHP-CGI
Invalid command 'RewriteEngine',
perhaps misspelled or
defined by a module not
included...
→ .htaccess opnieuw genereren
RuntimeException:
The service "..." has a
dependency on a non-existent
service "..."
→ Symfony-container gebroken
De 7 meest voorkomende oorzaken van een PrestaShop 500
Geïdentificeerd in meer dan 80 spoedinterventies. Er kan er één aanwezig zijn, of meerdere tegelijk.
memory_limit
Het meest voorkomend (≈ 35% van de gevallen). Veroorzaakt door een veeleisende hook op actionProductSave die alle combinaties in het geheugen laadt, een Doctrine-migratie die in een lus blijft hangen, of een te grote catalogusexport. Zichtbaar in error_log met Allowed memory size of X bytes exhausted. Fix : memory_limit verhogen naar 512M of zelfs 1024M in de php-fpm pool of php.ini, maar vooral de schuldige hook identificeren.
.htaccess beschadigd of slecht opnieuw gegenereerd
≈ 20% van de gevallen. Treedt op na een hergeneratie vanuit de back-office (Voorkeuren → SEO & URL), een domeinmigratie, of een PrestaShop-update die custom directives heeft overschreven (compressie, redirects). Typische Apache-fout : Invalid command 'RewriteEngine'. Fix : vergelijking met de vorige git-versie, herstel van de custom regels, controle of de module mod_rewrite aanwezig is.
≈ 15%. Na een PrestaShop-update kunnen uw overrides in /override/classes/ en /override/controllers/ verwijzen naar methoden waarvan de signatuur is gewijzigd of die verdwenen zijn. PHP gooit dan Fatal error: Class "X" not found of Cannot redeclare method Y. Fix : /override/ tijdelijk uitschakelen door het te hernoemen, het schuldige bestand identificeren en overzetten naar de nieuwe versie.
≈ 12%. Een module gemaakt voor PrestaShop 1.7 die nooit is getoetst aan PHP 8.x, of een externe module die een upgrade 1.7 → 8.x niet heeft gevolgd. PHP weigert dan een strikt type (TypeError) of een deprecated syntaxis. Fix : de module uitschakelen via SQL (UPDATE ps_module SET active=0 WHERE name='X') of door de map te verwijderen, de fix aan de kant van de uitgever opsporen, indien nodig een lokale patch uitrollen.
≈ 8%. Treedt doorgaans op na een ruwe FTP-restore of een overstap van hostingprovider. PHP-FPM kan /var/cache/prod/ niet meer lezen, niet meer schrijven in /var/logs/, of geen CLI-script meer uitvoeren. Apache-log : Permission denied. Fix : chmod -R 755 dirs / 644 files, chown -R www-data:www-data op de gevoelige boomstructuur.
≈ 6%. Specifiek voor de moderne versies. Een module die een service declareert met een dependency die niet bestaat, of een verkeerd benoemde services.yml. PrestaShop geeft al bij de bootstrap een 500, nog vóór Smarty wordt aangesproken. Fix : /var/cache/prod/ leegmaken, php bin/console cache:clear uitvoeren, de services.yml van de verdachte module inspecteren, de ontbrekende service declareren of de spookdependency verwijderen.
≈ 4%. OPCache die na een deployment nog verouderde code serveert, display_errors=Off die de echte oorzaak verbergt, max_execution_time te laag waardoor lange scripts worden afgebroken (CSV-import, sitemap-generatie). Fix : PHP-FPM herstarten, phpinfo() auditen, php.ini CLI vs FPM op elkaar afstemmen.
Tijdlijn van een 500 opgelost in 1 u 47
Echte case · Webshop biocosmetica · PrestaShop 8.1.5 · OVH Performance-hosting · April 2026.
tail -f /var/log/apache2/error.log via SSH. Eerste zichtbare fout : PHP Fatal error: Allowed memory size of 268435456 bytes exhausted in /modules/xfilters/classes/FilterCollection.php on line 217.
xfilters laadde alle combinaties van alle producten in het geheugen om zijn aggregaten te berekenen. Bij 2.800 producten × gemiddeld 12 combinaties, ≈ 33.600 combinaties in één keer → memory_limit ontploft.
FilterCollection.php : combinaties lezen in batches van 500 (PHP-generator). Tests OK op 4 representatieve productpagina's.
(1 u 47 × 70 €/u)
Tarieven vooraf aangekondigd
Gratis diagnose. Voor de interventie weet u precies wat het kost voordat ik aan de code kom.
Diagnose
- Uitlezen error_log +
php-fpm.log - Grondoorzaak geïdentificeerd (memory_limit, .htaccess, override...)
- Becijferde offerte meteen verstuurd
- U beslist of u doorgaat
Gerichte interventie
- Back-up bestanden + database vóór de interventie
- Gerichte oplossing van de 500 (hook, .htaccess, override, module)
- Tests front + back-office + aankooptraject
- Schriftelijk rapport grondoorzaak + fix
- Garantie 30 dagen op de fix
Maandelijks onderhoud
- Monitoring om de 5 min · sms-alert vóór uw klanten
- Automatische dagelijkse externe back-ups
- Prioritaire interventie bij een 500
- PrestaShop CVE-monitoring + toegepaste hotfixes
Fout 500, dat is niet...
Verwante bugs worden vaak verward. Laten we nagaan of u op de juiste plek bent.
Als uw site helemaal niets toont, alleen wit, zonder foutmelding, dan is het een wit scherm in PrestaShop (display_errors=Off verbergt de echte fout). Het is geen 500 die door de server wordt getoond.
Een 502 (Bad Gateway) betekent dat Nginx geen antwoord van PHP-FPM ontvangt (vaak een PHP-FPM-crash). Een 504 (Gateway Timeout) betekent dat PHP zijn uitvoeringstijd heeft overschreden. De oorzaken zijn verwant, maar de fixes verschillen.
Als uw site reageert maar er 15 s over doet om een productpagina te laden, is het geen 500 (de server reageert wel, alleen traag). Het is een prestatieprobleem : cache, database, modules, hosting.
Bekijk de pagina prestaties →Veelgestelde vragen over PrestaShop fouten 500
memory_limit (vaak veroorzaakt door een module-hook op de productpagina's), een beschadigd .htaccess na een update, een gebroken class-override na een PrestaShop-update, onjuiste bestandsrechten, of een module die een niet-opgevangen uitzondering werpt tijdens de bootstrap. De diagnose vereist altijd het uitlezen van de Apache error_log en php-fpm.log, nooit gokwerk.memory_limit, .htaccess, fatale hook) staat de site in minder dan 2 uur na de start weer online, inclusief 15 tot 30 min diagnose. Voor complexe gevallen (beschadigde override, moduleconflict na een grote update) moet u rekenen op een halve dag tot een dag. De exacte doorlooptijd wordt u meegedeeld na de gratis initiële diagnose, nooit later..htaccess, config/defines.inc.php of een override aanpassen. Dat vereist FTP- of SSH-toegang tot de server. Als u uw toegang kwijt bent, halen we eerst de inloggegevens op bij uw hostingprovider. Dat is doorgaans haalbaar in 1 tot 4 uur, afhankelijk van de hostingprovider.Vermijd de volgende 500 voordat hij optreedt
24/7-bewaking, dagelijkse back-ups, beveiligingshotfixes, prioritaire interventie : voor 50 €/maand (12 maanden contract) verdient het onderhoudscontract zich ruimschoots terug met één vermeden fout 500.
Bekijk de onderhoudsformules →Een 500 op uw site op dit moment ?
Beschrijf wat u ziet, we kijken binnen 30 min tijdens werkuren. Gratis diagnose, offerte binnen 24 werkuren.