IIS 10.0 Detailed Error - 500.0 - Internal Server Error
HTTP Error 500.0 - Internal Server Error
php-cgi.exe - The FastCGI process exited unexpectedly
This happens when you do not have the correct VC++ redistributable installed.
You can check which version VC you need by looking at the downloadable section on php.net, for example:
VS16 corresponds to Visual Studio 2019,
So you will need to download the vc_redist package from Microsoft corresponding to your version and Architecture.
So you open up F12 and see this obscure error:
In some cases this is caused by browser updates or perhaps server changes like adding gzip support to IIS.
This error in most cases is to to some code not properly closing before another script is executed thus chunking the response.
You should review the code for the page and look for Response.Close(); method. Something like this:
and replace it with a proper Response.End(); method instead.
Now save and reload your page.
First if you have not yet done so enabling dynamic compression on IIS improves page load speed by about 300% in most cases. To do so you can follow the following steps.
From Server Manager choose "Add Roles and Features"
Now Next on the before you begin page if you have not already checked the box for "Skip this page by default" option previously.
Leave the default of "Role-Based or feature-based installation" selected and choose Next.
Now expand "Web Server (IIS)", "Web Server", "Performance" and check the box for "Dynamic Content Compression" then choose Next, Next then Install.
Now you're done.
In some cases some older code can cause you issues after doing this. For example some .net code previously written to use Response.Close(); method will toss a net::ERR_INCOMPLETE_CHUNKED_ENCODING error in Chrome and Edge Chromium browsers.
You can solve this with the following method.
How to solve the net::ERR_INCOMPLETE_CHUNKED_ENCODING error.
First if you have not already install the IIS role on your windows system.
Open IIS and choose the top level folder(your server) then choose Server Certificates
Now choose Create Self Signed Certificate from the far right
friendly name should be the DNS name of the device you need to create the pem file for, then choose ok.
Now open the certificate manager on your system, to do this run mmc
File > Add/Remove snap-in
Choose Certificates > Add > Computer account > Next > Local computer > Finish > OK
Now expand the certificates folder you create the cert in, by default this is Personal > Certificates.
right click on the certificate you created and choose all tasks > export > next > No, > next > Base-64 > next >
pick a file name
Now, you can rename the .cer file to .pem and that's it you're done.
With codeplex gone it can be a bit hard to find the real download for some things. I had to search an old server archive to find this.
Php manager 1.2 x64,
This is the original v1.2 64bit download from 2012.
I also found the older 1.1.1 download should you want that instead,