500 Internal Server Error Web/HTTP High severity

HTTP 500 — Internal Server Error

The server hit an unhandled exception. The real cause is in the server logs, not the browser.

Last reviewed 2026-08-29 by the Tech Issue Guide team.

Symptoms

  • “500 Internal Server Error” or “The server encountered an internal error.”
  • It appeared right after a deploy, a plugin update, or an edit to a config file.
  • Some pages work; dynamic ones fail.

What causes 500 Internal Server Error

  • An unhandled exception or fatal error in the application code.
  • A broken .htaccess directive or wrong file permissions (often after upload).
  • The database is unreachable or a required environment variable is missing.
  • The PHP/Node/app process ran out of memory or crashed.

How to fix it — 3 steps

  1. Reload once in case it was transient; if it persists, open the application and web-server error logs and read the stack trace.
  2. Roll back the most recent deploy, plugin, or config change; verify database connectivity and environment variables.
  3. For PHP sites, temporarily rename .htaccess to test, check for a syntax/fatal error, then restart the app or PHP-FPM service.

Terminal / CLI command

tail -n 100 /var/log/nginx/error.log
journalctl -u your-app -n 100 --no-pager

Apache logs are usually /var/log/apache2/error.log; app frameworks also write their own log under the project directory.

How to confirm the fix: The page returns 200 and the error log stops recording the exception.

Prevent it from coming back

Deploy behind a staging environment, keep error logging on server-side, and add health checks after deploys.

Frequently asked questions

The page is blank instead of showing 500 — same thing?

Often yes — a “white screen” is a 500 with error display turned off. Enable display_errors on a staging copy or read the logs.

It is a WordPress site — quick checks?

Rename the plugins folder to disable all plugins, switch to a default theme, and regenerate .htaccess by re-saving permalinks.

Related error codes

Back to the error-code search tool