There are many features and their settings that can conflict with each other in IIS.
It looks like you were unable to set responseBufferLimit for your handler.
You need to know what you first called a handler.
Open a command prompt and run:
%windir%\system32\inetsrv\appcmd.exe list config -section:system.webServer/handlers | find "FastCGI"
It is possible to have more than one handler, listed below, and this is normal. Yours is top , here is PHP53_via_FastCGI .
<add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" /> <add name="PHP54_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either" / <add name="PHP55_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.5\php-cgi.exe" resourceType="Either" /> <add name="PHP56_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" /> <add name="PHP70_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.0\php-cgi.exe" resourceType="Either" />
Replacing PHP53_via_FastCGI with your own, run the following command to change responseBufferLimit :
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/handlers /[name='PHP53_via_FastCGI'].responseBufferLimit:"0" /commit:apphost
restart IIS by running:
iisreset
Retry php page loading.
If still not working properly, you can be sure that this is due to the dynamic compression of IIS. Since it by default processes all dynamic responses with the text/* content type when it is enabled, it can block the PHP response for compression.
You can temporarily disable dynamic compression to see if it works. Make a backup of your web.config website and add the following instead and try loading your PHP page.
web.config
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <urlCompression doDynamicCompression="false" /> </system.webServer> </configuration>
If you do not want to disable dynamic compression for the entire website, there are other levels that you can disable dynamic compression for virtual applications, physical and virtual directories, or a specific file.
See HTTP Compression Performance Requirements for more information.