500 Internal Server Error
Posted by Dan M. on 28 September 2007 12:54 PM
Internal server errors can be caused by a few different things. We're going to go over the most common reasons you'll see a 500 error and what to do about it.
To find out what's causing the 500 error:
This log will display the last 300 Error Log messages in reverse order. If the Error Log doesn't provide any indication of the issue, try troubleshooting by following the suggestions listed below.
Bad Permissions, Writeable by Group
To troubleshoot this error, check your file permissions:
Bad .htaccess, Invalid Command
In the .htaccess file, you may have added lines that are either worded incorrectly or conflicting with other coding in the file. The best way to troubleshoot this is to comment out the lines in the .htaccess file.
Note: always make a copy of the .htacess file before making any changes to it!
You can comment out a line in the .htaccess file by adding # to the beginning of that particular line. For example, if the code in the .htaccess file looks like:
DirectoryIndex default.html AddType application/x-httpd-php5 php
DirectoryIndex default.html #AddType application/x-httpd-php5 php
After commenting out a line, refresh the site to see if the issue has been resolved. If it has, that confirms that the issue was in that particular line of code in the .htacess file. If the issue has not been resolved, continue troubleshooting by commenting out additional lines and checking the site.
Exceeding Resources, Nothing in the Error Log
It is possible that the 500 error is being caused by too many processes in the server queue. With SSH (shell) access, you can view the processes running on your account. Simply type this command:
Or type the following command to view a specific user's account. Be sure to replace username with the actual username.
ps faux |grep username
Once you have the process ID (pid), type the following command to kill the specific process. Be sure to replace pid with the actual process ID.
kill -9 pid
Still need help? Get in touch.