Well as the title says I had been getting an internal-server-error-500/ error when uploading files via WordPress. I also had these error in my other non-wordpress sites like my MediaWiki. I use ISPconfig to host everything so I went down a rabbit hole to fix this. I saw several guide / suggestions on the issue and no single guide worked for me so below is a list of the steps I took to fix the issue.
Its worth noting this was a combination of ISPconfig and PHP that was causing the error and thats why most of the single guides to fix it did not work for me.
As normal follow this at your own risk and it helps if you have linux experience to tailor these to fit your system.
1) First under ISPconfig I added the following settings in the custom PHP setting section of each website having issuesdisplay_errors = On
2) ssh to your server and edit the php.ini file located in: /etc/php5/cgi
3) Last edit fcgid config file
I added this line under FcgidConnectTimeout 20 this is what mine looks like
4) restart server and wallah you can now upload any image that is 50mb or less!