This would be a short one.
I had been struggling with an opencart website. I had been developing recently for a client; the website would throw a 500 error but there was no way to know what was actually wrong!
I always expected the cpanel error.log to show the error details but couldn't find anything there. I stumbled upon an article which made me realize opencart has a separate error.log file in the admin folder. Phew! This is a horrible design implementation.
Examining that file made me see the error... an extension was trying to create tables but it didn't have the DB permission to do that.
Surely, the extension could have thrown a relevant error message or check to see if it could create a table. I updated the MySQL user permissions and the error disappeared!
I hope this helps someone as frustrated as I was!