error 500 is a generic error.
it used to mask the real error from site visitors.
We need to know what the actual error message is. your host should have an error log file that records the real message when showing the generic one on the screen
once we know the real message, we can start to determine the cause.