--- title: "500 Internal Server Error — what it means and how to fix it" description: "Something went wrong on the server and it has no more specific code to describe it. What causes an HTTP 500, what to try as a visitor, and what to check if it is your own site." url: https://atoneplace.net/error/500/ site: "At One Place" --- # HTTP 500 — Internal Server Error **HTTP 500: Internal Server Error** Something went wrong on the server and it has no more specific code to describe it. ## What 500 actually means The catch-all server failure. The request reached the application, the application threw an exception or hit a condition it could not handle, and there was no better answer to give. It is deliberately vague to the outside world — a detailed error message would help attackers as much as users — which means the real explanation only exists in the server logs. Nothing you do as a visitor caused it and nothing you do as a visitor will fix it. ## Common causes - An unhandled exception in application code - A database connection failure or a query that errored - A syntax or fatal error introduced by a recent deploy or plugin update - Wrong file permissions or ownership on application files - A broken `.htaccess` rule on Apache - The process running out of memory, or hitting a PHP memory limit - A missing environment variable or configuration file after a deployment ## If you're just trying to view the page 1. Reload after a minute — many 500s are transient and clear on their own 2. Try a hard refresh (Ctrl+F5 on Windows, ⌘ + Shift + R on Mac) to rule out a cached broken response 3. Check a status page or Downdetector to see whether the whole site is affected 4. Try another browser or device only to confirm it is the site; the fix is not on your end 5. Report it to the site owner with the URL and the time — that is genuinely useful to them ## If it's your site 1. Read the actual error in the logs — the browser-facing 500 carries none of it. Look in the application log first, then the web server error log 2. For PHP, check `error_log` and temporarily enable `display_errors` in a non-production environment 3. Check whether the last deploy, plugin update or dependency bump correlates with the start of the errors, and roll back to confirm 4. Verify database connectivity, credentials and connection pool limits 5. Check disk space and memory; a full disk causes 500s that look like application bugs 6. Confirm file permissions and ownership are correct for the user the web server runs as 7. Add error tracking so 500s come with stack traces rather than being reconstructed after the fact ## Reference - **Status code:** 500 - **Reason phrase:** Internal Server Error - **Category:** 5xx — Server Error - **Cacheable by default:** No - **Defined in:** RFC 9110 §15.6.1 ## Common questions ### What does HTTP 500 mean? Something went wrong on the server and it has no more specific code to describe it. The catch-all server failure. The request reached the application, the application threw an exception or hit a condition it could not handle, and there was no better answer to give. ### How do I fix a 500 error? Reload after a minute — many 500s are transient and clear on their own ### Is 500 a client error or a server error? 500 is in the 5xx range, which means server error. The request was acceptable but the server could not fulfil it, so retrying later can succeed. ## Related pages - [502 Bad Gateway](https://atoneplace.net/error/502/) - [503 Service Unavailable](https://atoneplace.net/error/503/) - [504 Gateway Timeout](https://atoneplace.net/error/504/) - [524 A Timeout Occurred](https://atoneplace.net/error/524/) - [521 Web Server Is Down](https://atoneplace.net/error/521/) - [522 Connection Timed Out](https://atoneplace.net/error/522/) - [520 Web Server Returned an Unknown Error](https://atoneplace.net/error/520/) - [525 SSL Handshake Failed](https://atoneplace.net/error/525/) - [526 Invalid SSL Certificate](https://atoneplace.net/error/526/) - [530 Origin DNS Error](https://atoneplace.net/error/530/) - [501 Not Implemented](https://atoneplace.net/error/501/) - [511 Network Authentication Required](https://atoneplace.net/error/511/) ## Sources - Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA (https://www.iana.org/assignments/http-status-codes/) - RFC 9110: HTTP Semantics — IETF (https://www.rfc-editor.org/rfc/rfc9110.html)