If you're using PHP on Windows with IIS you most certainly know the PHP Manager for IIS tool, an excellent GUI that integrates within the IIS Manager interface as a snap-in that you can use to flawlessly manage your PHP installation(s) on your IIS server machine. Installing it is just as simple as launching the Web Platform Installer (through the IIS Manager interface itself), then select it and add to your environment.
This is your preferred choice not only because of simplicity, yet also because that way you will get the last build of the software (1.4 at the time of speaking), which addresses a specific issue that affected the previous releases (=< 1.3) on most Windows 10 machines. The problem is well-documented here: to quickly summarize it, the PHP Manager setup program checks that the registry value HKLM/System/CCS/Services/W3SVC/Parameters/MajorVersion is >= 7 to ensure that it's being installed on IIS7 and later: however, when you're running Windows 10 with the last IIS version, the registry value is 0xA, which (oddly) evaluates that condition to false, thus making the installer crash.
Here's an example of the error log:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
INFO : [04/02/2015 11:55:27:992] [VsdLaunchConditions ]: Getting the condition to evaluate... INFO : [04/02/2015 11:55:27:992] [VsdLaunchConditions ]: MsiRecordGetStringW - Fetching value... INFO : [04/02/2015 11:55:27:993] [VsdLaunchConditions ]: MsiRecordGetStringW - Getting value from column '1'... INFO : [04/02/2015 11:55:27:993] [VsdLaunchConditions ]: Evaluating condition 'IISREGISTRYVALUE >= "#7"'... INFO : [04/02/2015 11:55:27:994] [VsdLaunchConditions ]: RESULT: Condition is false. INFO : [04/02/2015 11:55:27:994] [VsdLaunchConditions ]: MsiRecordGetStringW - Fetching value... INFO : [04/02/2015 11:55:27:994] [VsdLaunchConditions ]: MsiRecordGetStringW - Getting value from column '2'... INFO : [04/02/2015 11:55:27:995] [VsdLaunchConditions ]: MsiSetPropertyW - Setting Property Value... MSI (s) (3C!04) [11:55:27:996]: PROPERTY CHANGE: Adding HideFatalErrorForm property. Its value is 'TRUE'. INFO : [04/02/2015 11:55:27:996] [VsdLaunchConditions ]: MsiSetPropertyW - Setting property 'HideFatalErrorForm' to 'TRUE'. INFO : [04/02/2015 11:55:27:996] [VsdLaunchConditions ]: Checking a launch condition... INFO : [04/02/2015 11:55:27:997] [VsdLaunchConditions ]: A launch condition has already fired. My work is done here. ERROR : [04/02/2015 11:55:27:997] [VsdLaunchConditions ]: Custom Action failed with code: '1603' INFO : [04/02/2015 11:55:27:998] [VsdLaunchConditions ]: Custom Action completed with return code: '1603' CustomAction VSDCA_VsdLaunchConditions returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) Action ended 11:55:28: VSDCA_VsdLaunchConditions. Return value 3. Action ended 11:55:28: INSTALL. Return value 3. |
The workaround there was pretty simple: change that value to 9 (or 8, or 7), let the software install, then bring it back to the previous value. Luckily enough, as said above, the PHP Manager staff released the 1.4 build which had this problem fixed for good. However, if you're installing it manually and using a previous version, you would still be hit by that issue. Since there's an official build that now addresses it our suggestion is to get it, thus avoiding the above workaround: however, in case you need the good old fix, here it is for your convenience.
Hi! When using Web Platform Installer the only PHP Manager listed is dated 27.06.2011, and the last version listed at https://phpmanager.codeplex.com/releases/view/69115 is v1.2. If there is a v1.4 or newer, how come I can’t find it?