What Is a 500 Internal Server Error and How to Fix It?

500 Internal Server Error

This guide explores the 500 internal server error code, an HTTP error, and how to fix it.

HTTP Errors and Error Codes

Whenever a web page is loaded, a request is made to an HTTP server (Most web servers run Linux, by the way), and part of the response is a numeric status code that tells your web browser what kind of response it is. This allows the browser to handle the contents of the response correctly.

Some example responses are:

Status Code Meaning
200 OK – The response was successful, and data has been returned
301 The page has been moved permanently
404 The page was not found
500 Internal Server Error

The 500 Internal Server Error

The internal server error, status code 500, means that something went wrong on the server hosting the content you are trying to access.

There’s nothing wrong with your web browser or system – it’s them, not you.

The error has occurred due to a programming fault on the software hosting the content you’re trying to view in your web browser.

Even if you were filling out a form and entering unexpected values or interacting with the service in some silly way that breaks it, it’s still not your problem – the programmer who built the site you’re using should have made sure that silly or unexpected behavior from the user was accounted for.

What should you do if you encounter an HTTP 500 error while browsing the internet?

Do you own the website or service showing the error?

No

Contact the owner of the website – they’ve got some work to do.

Yes

You’ve got some work to do.

The good news is that your web server is responding and online – as it’s generating the 500 error and serving it up.

The bad news is there’s an error. If you can see the error’s technical details, the first thing you should do is turn off debugging on your server so sensitive information about your server can’t leak through the error details to the public.

Then, it’s time to inspect your web server logs to see what actually went wrong. The logs and their location will depend on your server environment – which web server you’re using (e.g., Apache or Nginx), and which application environment your code is being served from (e.g., PHP or Python).

Once you’ve found the log entry corresponding to the error, you can begin to fix your code…

Learn more about networking on Linux

SHARE:
nv-author-image

Brad Morton

I'm Brad, and I'm nearing 20 years of experience with Linux. I've worked in just about every IT role there is before taking the leap into software development. Currently, I'm building desktop and web-based solutions with NodeJS and PHP hosted on Linux infrastructure. Visit my blog or find me on Twitter to see what I'm up to.

Leave a Reply

Your email address will not be published. Required fields are marked *