The 500 internal server error usually pops up to indicate that the web server has encountered a problem and can´t fulfil the request you gave it.
The problem with this type of error is that the server doesn´t generate any type of message indicating what´s wrong. It can appear in various forms:
500 Internal Server Error
HTTP 500 – Internal Server Error
Temporary Error (500)
Internal Server Error
HTTP 500 Internal Error
What causes the error?
Although you can´t know it straight away what the problem is, here are some of the possible causes of error 500:
- PHP timeout: it happens when the script tries accessing an external resource but encounters a timeout (runs out of time)
- Error in .htaccess coding: you should check your site´s .htaccess code to see if there are any errors.
- Permission errors: normally the error is caused by an incorrect permission on some files or folders (usually on a PHP or CGI script)
How to solve the 500 internal server error
As we´ve said, this problem almost always comes from the server´s side. This means that there´s probably nothing wrong with your computer or internet connection.
Even though just to discard any possible errors from the user´s side, try this:
- Refresh the page pressing the F5 key or simply reloading the site
- Delete your browser cache and reload the site
- Try entering later
- Contact the site to see if there´s an error
In the end, if you´re entering a site externally and the error pops up there´s nothing more you can do.
If it´s your own page you´re trying to access and the error appears there are a few things you can try to do:
- First you should check your hosting provider to see if the server broke down or stopped working. Also ask them for a solution
- View the log files. The error messages are stored in Linux servers and you can view them typing:
Steps to finding/solving the error
- Check the memory limit: if a certain process uses more RAM than available it can cause an internal error. You can increase the limit temporarily to solve the problem with this command on php.ini (typing in the limit you want to set)
memory_limit = (XXX)M
- If your site depends on PHP connections to access resources from other sources, it can cause errors due to connection interruptions. To fix this, avoid your site depending on external resources.
If you can´t do this, just increase the time limit of your PHP script and implement error handling.
- Deactivate themes or plugins: sometimes, newly added plugins or themes can cause conflict with your server configuration. To find out, deactivate your plugins temporarily going to the dashboard and then plugins > installed plugins and press the deactivate toggle.
- Check if recently updated or new software is installed correctly: try and refresh your software and check your vendor´s website for instructions.
If after this the problem is solved, re-activate the plugins one by one after you find the one causing the problem and delete it.
I hope you found this article interesting. If you want to know how to solve more connection errors, feel free to check out the tutorials section of our blog.