---
title: "500 error (Internal Server Error)"
description: "The HTTP 500 error signals an unexpected server-side failure. Learn the usual suspects — PHP errors, .htaccess, memory limits — and how to read logs."
url: "https://nodea.io/en/glossary/http-500-error"
lang: "en"
updated: "2026-07-13"
---

# 500 error (Internal Server Error)

> The 500 Internal Server Error is a generic HTTP status code meaning something unexpected failed on the server — anything from an application exception, through a broken .htaccess file, to an exhausted memory limit.

**The 500 error** (Internal Server Error) is a generic HTTP status code reporting that something unexpected went wrong while the server was processing a request — and that the failure does not fit any more specific code. It acts as the protocol's catch-all: the application or server broke, and the details are intentionally hidden from visitors for security reasons.

## How the 500 error works

Almost anything server-side can be behind a 500. The most frequent causes are:

- an unhandled exception or syntax error in application code (for example [PHP](https://nodea.io/en/glossary/php)),
- a faulty directive in [.htaccess](https://nodea.io/en/glossary/htaccess) — a single typo can take down the whole site,
- an exhausted [memory\_limit](https://nodea.io/en/glossary/memory-limit) or exceeded script execution time,
- wrong file permissions or a failed dependency (unreachable database, timed-out external API),
- a plugin or theme conflict after a CMS update.

## Practical applications

Diagnosis always starts with the [server logs](https://nodea.io/en/glossary/server-logs) — the error log points to the exact message, file and line — complemented by the application's own log. The next step is reviewing recent changes: a freshly installed plugin, an update or a deployment is the usual suspect, and reverting it typically restores service. The .htaccess file can be tested by temporarily renaming it; PHP limits are raised in the configuration or the hosting panel; WordPress users can enable WP\_DEBUG with logging. Because every minute of 500 responses means downtime for both users and search engine crawlers, uptime monitoring that alerts you immediately is worth having — prolonged outages cost revenue first and rankings second. A good practice is also to separate what users see from the technical detail: visitors should get a friendly error page free of sensitive information, while the full stack trace goes only to logs and monitoring systems where engineers can act on it.

### How do I find the cause of a 500 error?

Start with the logs: the web server's error log and the application log show the exact message, file and line behind the failure. Then roll back the most recent change — a plugin, update or deployment — and check .htaccess syntax along with PHP limits such as memory\_limit and max\_execution\_time.

## Related

- [Server logs](https://nodea.io/en/glossary/server-logs)
- [memory\_limit](https://nodea.io/en/glossary/memory-limit)
- [.htaccess](https://nodea.io/en/glossary/htaccess)
- [PHP](https://nodea.io/en/glossary/php)
- [404 error (Not Found)](https://nodea.io/en/glossary/http-404-error)

---

Languages: [pl](https://nodea.pl/pl/slownik-pojec/bad-500.md)  
Site index: [llms.txt](https://nodea.io/en/llms.txt)
