500 error on your PrestaShop?
we fix it today.
Diagnostic and resolution of PrestaShop 500 errors by a certified expert
HTTP ERROR 500, Internal Server Error, blank page with a 500 header:
your store is visible but unusable. We read the logs, identify the root cause,
bring the site back online within 2 hours in 9 out of 10 cases.
The 9 faces of a PrestaShop 500 error
Describe what you see. The more precise, the faster the diagnostic.
HTTP ERROR 500
This page isn't working
→ Fatal server error
500 Internal Server Error
The server encountered an
internal error...
→ Default Apache page
500 Internal Server Error
nginx/1.x.x
→ PHP-FPM down or crashed
Fatal error: Allowed memory
size of 134217728 bytes
exhausted
→ Memory limit exceeded
PHP Fatal error: Uncaught
Error: Class "XYZ" not
found in /classes/...
→ Broken override / missing class
PHP Fatal error: Uncaught
Exception in /modules/
mymodule/hook.php:42
→ Faulty module
mod_fcgid: HTTP_INTERNAL_
SERVER_ERROR error,
premature end of script
→ PHP-CGI timeout
Invalid command 'RewriteEngine',
perhaps misspelled or
defined by a module not
included...
→ Regenerate .htaccess
RuntimeException:
The service "..." has a
dependency on a non-existent
service "..."
→ Broken Symfony container
The 7 most frequent causes of a PrestaShop 500
Identified across 80+ emergency interventions. One may be present, or several stacked.
memory_limit exhaustion
Most common (~35% of cases). Caused by a hook on actionProductSave loading all combinations into memory, a looping Doctrine migration, or an oversized catalogue export. Visible in error_log as Allowed memory size of X bytes exhausted. Fix: raise memory_limit to 512M or 1024M in php-fpm pool or php.ini, but most importantly identify the guilty hook.
.htaccess
~20% of cases. Happens after BO regeneration (Preferences → SEO & URLs), domain migration, or a PrestaShop update overwriting custom directives (compression, redirects). Typical Apache error: Invalid command 'RewriteEngine'. Fix: compare with previous git version, restore custom rules, ensure mod_rewrite is enabled.
~15%. After a PrestaShop update, overrides in /override/classes/ and /override/controllers/ may reference methods that changed signature or disappeared. PHP throws Fatal error: Class "X" not found or Cannot redeclare method Y. Fix: temporarily disable /override/ by renaming it, identify the faulty file, port it to the new version.
~12%. A module built for PrestaShop 1.7 never audited against PHP 8.x, or an external module that didn't follow a 1.7 → 8.x bump. PHP rejects strict typing (TypeError) or deprecated syntax. Fix: disable the module via SQL (UPDATE ps_module SET active=0 WHERE name='X') or remove its folder, find the vendor fix, deploy a local patch if needed.
~8%. Typically occurs after a brutal FTP restore or a host migration (Kinsta, WP Engine, SiteGround). PHP-FPM can no longer read /var/cache/prod/, write to /var/logs/, or execute a CLI script. Apache log: Permission denied. Fix: chmod -R 755 dirs / 644 files, chown -R www-data:www-data on sensitive folders.
~6%. Specific to modern versions. A module declares a service with a dependency that doesn't exist, or a wrongly named services.yml. PrestaShop returns 500 at bootstrap, before even touching Smarty. Fix: clear /var/cache/prod/, run php bin/console cache:clear, inspect the suspect module's services.yml, declare the missing service or remove the phantom dependency.
~4%. OPCache still serving stale code after a deploy, display_errors=Off hiding the real cause, max_execution_time too low killing long scripts (CSV import, sitemap generation). Fix: restart PHP-FPM, audit phpinfo(), align php.ini CLI vs FPM.
Pricing stated up-front
Free diagnostic. For the intervention, you know exactly what it costs before we touch the code.
Diagnostic
- Reading error_log +
php-fpm.log - Root cause identified (memory_limit, .htaccess, override...)
- Firm quote sent immediately
- You decide if we continue
Targeted intervention
- Backup of files + DB before any intervention
- Targeted fix for the 500 (hook, .htaccess, override, module)
- Tests front + back-office + checkout flow
- Written report: root cause + fix applied
- 30-day warranty on the fix
Monthly maintenance
- 5-min uptime monitoring · SMS alert before your customers
- Daily backups externalised to S3 / Backblaze
- Priority intervention on 500 incidents
- PrestaShop CVE watch + hotfix applied
PrestaShop 500 errors — frequently asked questions
error_log and php-fpm.log, never a guess..htaccess, config/defines.inc.php, or an override. This requires FTP or SSH access. If you've lost your credentials, we first recover them from your host (Kinsta, WP Engine, SiteGround, GoDaddy, OVH). Typically 1 to 4 hours depending on the provider.500 on your site right now?
Describe what you see. We look within 30 min during business hours. Free diagnostic, firm quote within 24 business hours.