IIS8:多个站点指向同一个物理文件夹,但每个站点的 PHP 版本不同

IIS8:多个站点指向同一个物理文件夹,但每个站点的 PHP 版本不同

我正在尝试在开发机器上配置具有多个 PHP 版本(5.2、5.3、5.4 和 5.5)的 IIS8 服务器,以测试脚本在每个版本上的运行情况。在服务器级别,我成功创建了所有处理程序映射,创建了所有 4 个站点(每个站点对应一个 PHP 版本),它们都指向相同的物理路径(目录:\www\htdocs)。现在我想为每个站点更改处理程序映射顺序,以使一个 PHP 版本成为主版本。但问题是这些设置保存到网页配置归档目录:\www\htdocs。因此,我们不是针对一个站点更改 PHP 版本,而是针对所有站点更改。

阅读web.config 的 TechNet 文档没有太大帮助。这是否可以配置?

答案1

您需要将设置存储在applicationHost.config服务器级配置文件中,而不是web.config文件夹中的文件中。

一种方法是手动将配置从web.config文件移动到文件中applicationHost.config,该文件位于 中C:\Windows\System32\inetsrv\config\

但是,不手动编辑此文件会更安全。相反,您可以在末尾使用标志(其中 ... 是要设置的设置)appcmd set config SITE_NAME .../commit:appHost

要使用 AppCmd 添加 PHP,您需要在 中添加处理程序映射system.webServer/handlers并在 中添加 FastCGI 条目system.webServer/fastCGI官方PHP说明对于 IIS 来说,有基本的命令 - 您需要做的就是在后面添加站点名称set config并在末尾添加提交标志。

或者,您可以使用 IIS 管理器的“配置编辑器”。Microsoft 的配置编辑器官方教程位于http://www.iis.net/learn/manage/managing-your-configuration-settings/editing-collections-with-configuration-editor

相关内容