HTTP error 500
500 Internal Server Error: what it means and how to fix it
The short answer
Your server tried to build the page, failed, and gave only a vague error. The detail sits in the error log, and that is where a fix starts.
- Backup before every change
- Fixed price before we start
- Remote, anywhere in the world
- Free first diagnosis
The 500 is the server’s catch-all for “something went wrong in here”. That is why one error can have a dozen different causes, and why guessing wastes time. Reading the log line behind it turns the guess into a specific cause, usually a file name and a line number.
Sound familiar?
How to recognise a 500 Internal Server Error
- Your whole site shows “500 Internal Server Error” or “HTTP ERROR 500”
- A white page with no message at all (a PHP error that is hidden from visitors)
- Only some pages, the admin area or the checkout fail while the rest loads
- It started right after a plugin, theme, PHP version or code update
- Apache’s wording: “The server encountered an internal error or misconfiguration”
Causes
What causes a 500 Internal Server Error?
A broken .htaccess file
This small config file in your site folder (Apache and LiteSpeed servers) holds redirects and rules. One wrong line, often added by a plugin or a copy-paste, and the server refuses to load anything.
A PHP fatal error or memory limit
Code that crashes, or a script that needs more memory than PHP allows (“Allowed memory size exhausted”), ends in a 500 and a line in the log.
A faulty plugin, theme or release
An update that clashes with your PHP version or another plugin is the classic trigger, especially if the 500 appeared minutes after the update.
Wrong file permissions or ownership
If the server may not read or write the files it needs, it fails. Some hosts also refuse files set too open. Typical safe values are 755 for folders and 644 for files.
Server resources exhausted
A full disk, no free memory or too many processes at once can make a server throw 500 errors, usually at busy moments.
A corrupt configuration or database problem
A missing or wrong settings file (wp-config.php, or .env in Laravel), wrong database credentials or a damaged table also surface as a plain 500.
Try it yourself
Fixing a 500 Internal Server Error yourself: safe first steps
Do these in order, and write down what you change so you can undo it.
- 1 Reload once, wait a minute and try again. A single 500 during a traffic spike can pass by itself. Also clear your caching plugin or CDN cache.
- 2 Open the error log. In your hosting panel look under “Errors” or “Logs”, or find the error_log file in your site folder. The last lines usually name the file and line that failed.
- 3 Rename .htaccess to .htaccess-old (via the file manager) and reload. If the site loads, that file was the cause. In WordPress, saving Settings > Permalinks creates a clean one. This only applies to Apache and LiteSpeed; nginx has no .htaccess.
- 4 On WordPress, rename the folder wp-content/plugins to plugins-off. If the site loads, rename it back and switch plugins on one by one until the 500 returns.
- 5 If the log says “Allowed memory size exhausted”, raise the limit, for example define('WP_MEMORY_LIMIT', '256M'); in wp-config.php. If the 500 started after a PHP upgrade, try the previous PHP version in your hosting panel.
- 6 On Laravel, read storage/logs/laravel.log, check that .env exists and that storage and bootstrap/cache are writable. Do not leave APP_DEBUG on for a live site; it can reveal passwords on screen.
Our approach
How we fix a 500 Internal Server Error
-
1
We read the log, we don’t guess
Most 500 errors name their own cause in the server or application log. We look there first, so you do not pay for trial and error.
-
2
Backup before any change
A full copy of files and database comes first, so every step we take can be undone.
-
3
Cause, fixed price, your OK
The diagnosis is free. You get the cause in plain language, a fixed price and a time estimate. Nothing starts without your yes.
-
4
Fix, test and report
We fix it, check the pages that matter (home, forms, login, checkout) and send a short report of what was wrong and what we changed.
What we need
What we need from you
- Access to the error logs, through your hosting panel or SSH
- SFTP/SSH or file manager access to your site files
- An admin login for your CMS (WordPress, Laravel, other), if there is one
- What you changed or updated just before the error appeared
We ask for the least access that does the job, use a separate key per client, and you can revoke it the moment we are done.
What we cannot fix
We cannot fix a 500 that comes from a fault inside your hosting provider’s own infrastructure, or from third-party software we have no access to or cannot change. If that is the cause, we say so after the free diagnosis, with the evidence you need for your host.
Price
Price and what happens next
-
1
Free diagnosis
We find the cause and tell you what is wrong.
-
2
Fixed price
You get a price and a time estimate. Nothing starts without your yes.
-
3
Fixed and reported
We repair it, test it and send a short report.
From €295 excl. VAT
Fixed price, agreed before we start
Is it urgent? Say so in the form or in the chat. We start as soon as we can and give you a realistic time estimate with the quote. If priority work costs extra, you see that in the quote before you agree.
Get it fixedQuestions?
500 Internal Server Error: frequently asked questions
Also see
Related problems
Broken after an update
A website that breaks right after an update usually has a version mismatch: a plugin, theme or piece of custom code that does not work with...
Read more →WordPress critical error
“There has been a critical error on this website” is WordPress telling you that PHP hit a fatal error and stopped loading the page. Older ve...
Read more →HTTP error 502
A 502 Bad Gateway means a server acting as a gateway or proxy, such as nginx or Cloudflare, received an invalid or no response from the serv...
Read more →Written by the IT bugsolutions team · Last updated:
Request
Tell us what is wrong
Answer a few short questions. You get a fixed price before we do anything.
Thank you for your request!
We will contact you shortly
An error occurred!
Please try again.