2MHost deploys PHPSueExec (runs PHP as CGI) in all servers. Therefore, there are 2 possible reasons for this error:
1. File/Directory Permissions
A PHP file must have permissions set to 644. Any folder containing PHP files and PHP access (to upload files, for example) must have permissions set to 755. PHP will run a 500 error when dealing with any file or folder that has permissions set to 777!
2. .htaccess file values
With PHPSueExec on, some commands in .htaccess will result in Error 500. These commands are:
php_value and PHP_flag
php_value magic_quotes_gpc on
To fix this problem, create a custom php.ini file. PHP.ini is a text file. Create it using your notepad and upload it to your directory.
Remove every php_value and php_flag and put it in your php.ini file.
Here is the same example with the correct format in php.ini file: