Internal Server Error Help, 500 Error
A few different things can cause internal server errors. The most common reasons are noted below:
- Bad Permissions, Writeable by Group ⤵
- Bad .htaccess, Invalid Command ⤵
- Exceeding Resources, Nothing in the Error Log ⤵
There are steps to take to find out what is causing the errors. To begin troubleshooting:
- Log into cPanel.
- In the Metrics section, click on the Errors icon.
The following page will display the last 300 Error Log messages in reverse order. If the Error Log doesn't indicate the issue, try troubleshooting by following the suggestions listed below.
Bad Permissions, Writeable by Group
To troubleshoot this error, check your file permissions.
- Log in to cPanel.
- Navigate to the Files section, then click on the File Manager.
- Navigate to the public_html folder.
- Review the numbers listed under the Permissions column in File Manager.
- Directories and folders should be set to 755.
- Executable scripts within the cgi-bin folder must be set to 755.
- Images, media, and text files like HTML should be set to 644.
Bad .htaccess, Invalid Command
In the (dot) htaccess file, you may have added lines that are either worded incorrectly or conflicting with another coding in the file. The best way to troubleshoot this is to comment out the lines in the .htaccess file.
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
Then, try commenting it out like so:
DirectoryIndex default.html #AddType application/x-httpd-php5 php
Broken lines and lines that start with php_flags are the most common mistakes. If you cannot determine which line is the problem, then comment out every line. For additional information regarding php_flags, please review the following article: What is php.ini?
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 .htaccess 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
Too many processes may be causing the 500 error 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 the 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