I have one server “A” that installed a few months ago (FMS 16, Windows Server 2016) working well and accessed through FMP and PHP.
I installed FMS 16 on a second server “B” with same configuration (FMS 16, Windows Server 2016) for a different project and after the installation PHP didn’t work. The PHP test page showed error HTTP 500.21, and a message about “fastcgimodule” not installed.
I fixed it by going to IIS > Feature Delegation, and changed “Handler Mappings” and “Modules” from “Read Only” to “Read/Write”. Then re-installed FM Server and the PHP test page opened without errors.
Then I went to have a look at server “A” IIS configuration and was surprised that both “Handler Mappings” and “Modules” were as “Read Only”, while PHP works correctly.
So I went to server “B”, and switched back “Handler Mappings” to “Read Only”. Tried again and the test page didn’t load, showing an error HTTP 500.19.
The conclusion is PHP in server “A” works well but server “B” PHP only works if IIS “Handler Mappings” is configured as “Read/Write”.
Now both servers are working fine and are accessible through PHP. But I’m curious if anybody knows why two servers need to have two different IIS configuration in order to work.