微软的Web Platform Installer是一个非常便于环境搭建的工具,然而在Windows Server 2016和Windows 10上由于内建的IIS主版本号已经达到了10而出现了一些奇怪的错误导致无法通过Web Platform Installer安装PHP Manager和URL Rewrite Module这两个模块。错误提示信息一般为“要求安装IIS 7.0或以上版本”,明明IIS 10看上去完全符合要求,但并不知道为什么会出现这样的错误。比较糟糕的是微软直至2016年12月5日也没有发布更新的适用于Windows Server 2016和Windows 10的PHP Manager和URL Rewrite Module。
为了解决这一问题,有两种方法,第一种是去codeplex上下载这两个模块的源代码,自己修改后编译新的安装包;第二种方法比较暴力,直接通过注册表修改IIS的主版本号,把它改成7、8、9(在Windows Server 2016和Windows 10中该值为10)。修改注册表有两处,第一处
1 |
HKLM\SOFTWARE\Microsoft\InetStp |
找到MajorVersion,修改它;第二处
1 |
HKLM\System\CurrentControlSet\Services\W3SVC\Parameters |
找到MajorVersion,修改它。至此,可以通过Web Platform Installer在Windows Server 2016和Windows 10上正常安装PHP Manager和URL Rewrite Module这两个模块。
另外需要注意的一点是,Windows Server 2016由于其PowerShell脚本进行了一些小改动,因此在使用Web Platform Installer安装模块或应用时可能会出现提示IIS某功能无法正常安装的提示信息,导致后续以此功能为依赖项的模块或应用无法正常安装,此时记录下提示安装失败的IIS功能,通过服务器管理工具->添加服务器角色/功能进行安装即可,熟练使用PowerShell的也可以直接敲命令搞定,然后返回Web Platform Installer重新安装之前想要安装的模块或应用即可。
Comments