FastCGI 的 <application> 元素的环境变量 <environmentVariables>

FastCGI <application> 元素的 <environmentVariables> 元素指定 Internet Information Services (IIS) 7 在启动时传递给 FastCGI 进程的环境变量列表。 <environmentVariables> 元素包含 <environmentVariable> 元素的集合,这些元素定义每个环境变量的各个名称/值对。

安装在 IIS 7 上的每个 FastCGI 应用程序可能允许或要求环境变量配置 FastCGI 应用程序的工作方式。 例如,一个 FastCGI 应用程序可能需要一个环境变量来指定应用程序配置文件所在的位置,而另一个 FastCGI 应用程序可能需要一个环境变量来指定需要回收的请求数。

兼容性

版本 说明
IIS 10.0 <environmentVariables> 元素在 IIS 10.0 中未进行修改。
IIS 8.5 <environmentVariables> 元素在 IIS 8.5 中未进行修改。
IIS 8.0 <environmentVariables> 元素在 IIS 8.0 中未进行修改。
IIS 7.5 <environmentVariables> 元素在 IIS 7.5 中未进行修改。
IIS 7.0 IIS 7.0 中引入了 FastCGI <application> 元素的 <environmentVariables> 元素。
IIS 6.0 空值

安装

若要使用 FastCGI 环境,必须先安装 CGI 角色服务。 在安装过程中,会同时在 <globalModules><modules> 元素中注册通用网关接口 (CGI) 角色服务。 无需执行任何其他步骤即可安装 FastCGI 环境。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在任务栏上,单击 “服务器管理器”。
  2. 在“服务器管理器”中,单击“管理”菜单,然后单击“添加角色和功能”。
  3. 在“添加角色和功能”向导中,单击“下一步”。 选择安装类型,然后单击“下一步”。 选择目标服务器,然后单击“下一步”。
  4. 在“服务器角色”页上,依次展开“Web 服务器 (IIS)”、“Web 服务器”和“应用程序开发”,然后选择“CGI”。 单击 “下一步”
    屏幕截图显示了“服务器角色”页,其中突出显示了 C G I 检查 框。
  5. 在“选择功能”页上,单击“下一步”
  6. “确认安装选择”页上,单击“安装”
  7. 在“结果” 页面中单击“关闭”

Windows 8 或 Windows 8.1

  1. 在“开始”屏幕上,将指针一直移动到左下角,右键单击“开始”按钮,然后单击“控制面板”
  2. 在“控制面板”中,单击“程序与功能”,然后单击“打开或关闭 Windows 功能”。
  3. 依次展开“Internet 信息服务”、“万维网服务”和“应用程序开发功能”,然后选择“CGI”。
    屏幕截图显示了 Internet 信息服务,其中突出显示了 C G I 检查框。
  4. 单击“确定”。
  5. 单击“关闭” 。

Windows Server 2008 或 Windows Server 2008 R2

  1. 在任务栏上,单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
  2. 在“服务器管理器”层次结构窗格中,展开“角色”,然后单击“Web 服务器(IIS)”。
  3. 在“Web 服务器(IIS)”窗格中,滚动到“角色服务”部分,然后单击“添加角色服务”。
  4. 在“添加角色服务向导”的“选择角色服务”页上,选择“CGI”,然后单击“下一步”。
    屏幕截图显示了“选择角色服务”页,其中突出显示了 C G I 检查框。
  5. “确认安装选择”页中,单击“安装”
  6. 在“结果” 页面中单击“关闭”

Windows Vista 或 Windows 7

  1. 在任务栏上,单击“开始”,然后单击“控制面板”。
  2. 在“控制面板”中,单击“程序与功能”,然后单击“打开或关闭 Windows 功能”。
  3. 展开“Internet Information Services”,选择“CGI”,然后单击“确定”。
    屏幕截图显示了“Internet 信息服务”页,其中突出显示了“C G I 检查”框。

操作方式

IIS 7.0 用户请注意,本节中的某些步骤可能需要安装 Microsoft Administration Pack for IIS 7.0,其中包括 FastCGI 设置用户界面。 若要安装 Microsoft Administration Pack for IIS 7.0,请参阅以下 URL:

如何为 PHP 创建全局 FastCGI 处理程序映射

注意

在执行以下过程之前,您必须已经安装了将执行您指定的文件路径或文件扩展名的二进制文件。 此示例使用 www.php.net 中提供的 PHP 实现。

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
  2. 在“连接”窗格中,单击要为其配置 FastCGI 处理程序映射的服务器名称。

  3. 在“开始”窗格中,双击“处理程序映射”。
    屏幕截图显示突出显示“处理程序映射”文件夹的“开始”窗格。

  4. “操作” 窗格中,单击 “添加模块映射”
    屏幕截图显示了“操作”窗格,其中包含“名称和路径”字段。

  5. 输入以下信息:

    • 在“请求路径”文本框中输入文件扩展名。 例如,“*.php”。
    • 在“模块”下拉列表中单击 FastCgiModule。
    • 在“可执行文件”框中输入脚本引擎的路径。 例如,“C:\PHP\php-cgi.exe”。
    • 在“名称”框中输入处理程序映射的唯一名称。 例如,“PHP-FastCGI”。

    屏幕截图显示了“添加模块映射”窗口,其中包含“请求路径”和“模块”字段。

    • 单击“请求限制”
    • 选择“仅当请求映射到以下对象时才调用处理程序”。
    • 单击以选择“文件”或“文件夹”选项。
    • 单击“确定”。
      屏幕截图显示了“请求限制”窗口,其中选择了“文件”或“文件夹”单选按钮。
  6. 单击“确定”。

  7. 如果“添加模块映射”对话框中系统提示创建 FastCGI 应用程序,请单击“是”。
    屏幕截图显示用于创建快速 C G I 应用程序的“添加模块映射”提示。

    注意

    这将为刚刚创建的处理程序映射自动创建 FastCGI 应用程序。 如果选择“否”,则可以稍后手动创建 FastCGI 应用程序。

如何为 PHP 创建 FastCGI 应用程序

注意

在执行以下过程之前,您必须已经安装了将执行您指定的文件路径或文件扩展名的二进制文件。 此示例使用 www.php.net 中提供的 PHP 实现。

注意

添加 FastCGI 应用程序后,系统并不会自动添加处理程序映射。 为此,需按照本文的如何为 PHP 创建全局 FastCGI 处理程序映射部分中的步骤操作。

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
  2. 在“连接”窗格中,单击要为其配置 FastCGI 设置的服务器名称。

  3. 在“主页”窗格中,双击“FastCGI 设置”。
    屏幕截图显示了“开始”窗格,其中突出显示了“快速 C G I 设置”图标。

  4. 在“操作”窗格中,单击“添加应用程序”。
    屏幕截图显示了用于添加应用程序的“操作”窗格。

  5. 在“添加 FastCGI 应用程序”对话框中,输入以下信息:

    • 在“完整路径”框中输入脚本引擎的路径。 例如,“C:\PHP\php-cgi.exe”。

    • 输入 FastCGI 应用程序的最大请求数。

      注意

      对于 PHP,此数字必须小于或等于 PHP 环境的最大请求数(使用 PHP_FCGI_MAX_REQUESTS 环境变量配置)。

    屏幕截图显示了“添加快速 C G I 应用程序”窗口,其中包含“完整路径”和“参数”字段。

  6. 单击 EnvironmentVariables 旁边的省略号 (...),打开环境变量集合编辑器。

  7. 在“EnvironmentVariables 集合编辑器”对话框中,单击“添加”。
    屏幕截图显示了用于添加成员的“环境变量集合编辑器”窗口。

  8. 输入以下信息,然后单击“确定”。

    • 在“名称”中,输入“PHP_FCGI_MAX_REQUESTS”。
    • 在“值”中,输入“10000”。

    屏幕截图显示了“环境变量集合编辑器”对话框,其中突出显示了“名称”。

  9. 单击“确定”关闭“添加 FastCGI 应用程序”对话框。

如何为 PHP 添加 FastCGI 环境变量

注意

在执行以下过程之前,您必须已经安装了将执行您指定的文件路径或文件扩展名的二进制文件。 此示例使用 www.php.net 中提供的 PHP 实现。

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
  2. 在“连接”窗格中,单击要为其配置 FastCGI 设置的服务器名称。

  3. 在“主页”窗格中,双击“FastCGI 设置”。
    屏幕截图显示了“开始”窗格,其中突出显示了“快速 C G I 设置”文件夹。

  4. 在“FastCGI 设置”窗格中突出显示 PHP 应用程序,然后在“操作”窗格中单击“编辑”。
    屏幕截图显示了快速 C G I 设置 页面,其中突出显示了完整路径名称。

  5. 在“编辑 FastCGI 应用程序”对话框中,单击 EnvironmentVariables 旁边的省略号 (...) 以打开环境变量集合编辑器。
    屏幕截图显示了“编辑快速 C G I 应用程序”对话框,其中包含“完整路径”和“参数”字段。

  6. 在“EnvironmentVariables 集合编辑器”对话框中,单击“添加”。
    屏幕截图显示了用于添加成员的“环境变量集合编辑器”对话框。

  7. 输入以下信息,然后单击“确定”。

    • 在“名称”中,输入“PHP_FCGI_MAX_REQUESTS”。
    • 在“值”中,输入“10000”。

    屏幕截图显示了“环境变量集合编辑器”对话框,其中突出显示了环境变量名称。

  8. 单击“确定”关闭“添加 FastCGI 应用程序”对话框。

配置

特性

无。

子元素

元素 说明
environmentVariable 可选元素。

将环境变量添加到环境变量集合中。

配置示例

以下配置示例为 PHP 添加了 FastCGI 应用程序,将 instanceMaxRequests 属性设置为“10000”,并将 PHP_FCGI_MAX_REQUESTS 环境变量设置为“10000”。

<fastCgi>
   <application fullPath="C:\PHP\php-cgi.exe"
         arguments=""
         maxInstances="4"
         idleTimeout="300"
         activityTimeout="30"
         requestTimeout="90"
         instanceMaxRequests="10000"
         protocol="NamedPipe"
         flushNamedPipe="false">
      <environmentVariables>
         <environmentVariable
            name="PHP_FCGI_MAX_REQUESTS"
            value="10000" />
      </environmentVariables>
   </application>
</fastCgi>

注意

对于 PHP,PHP_FCGI_MAX_REQUESTS 环境变量的值必须小于或等于 FastCGI 的 <application> 元素的 instanceMaxRequests 属性指定的值。

以下配置示例将 PHP 文件的全局 FastCGI 处理程序映射添加到 IIS,并指定 FastCGI 可执行文件的完整路径。

<configuration>
   <location path="" overrideMode="Allow">
      <system.webServer>
         <handlers>
            <add name="PHP-FastCGI"
                path="*.php"
                verb="GET,HEAD,POST"
                modules="FastCgiModule"
                scriptProcessor="C:\PHP\php-cgi.exe"
                resourceType="Either"
                requireAccess="Script" />
         </handlers>
      </system.webServer>
   </location>
</configuration>

注意

可以使用特殊格式的 FastCGI 应用程序和处理程序映射来逐个站点配置 FastCGI 设置,这些映射的区分方法如下:将 <application> 元素的 fullPatharguments 属性与 FastCGI 进程中 <handlers> 映射的对应 scriptProcessor 属性进行匹配。 若要创建这些映射,必须将 <application> 元素的 fullPatharguments 属性中的设置添加到 FastCGI 进程的 <handlers> 映射中的 scriptProcessor 属性,并用管道“|”字符分隔。 此组合用作每个 FastCGI 应用程序的唯一键。 例如,以下配置摘录显示了两个特定于站点的 PHP 处理程序的两个 <fastCgi>/<application> 元素及其对应<处理程序>映射:

<fastCgi>
   <application fullPath="C:\PHP\php-cgi.exe"
      arguments="-d open_basedir=C:\Websites\Website1" />
   <application fullPath="C:\PHP\php-cgi.exe"
      arguments="-d open_basedir=C:\Websites\Website2" />
</fastCgi>

<system.webServer>
   <handlers accessPolicy="Read, Script"> 
      <add name="PHP via FastCGI 1"
         path="*.php"
         verb="*"
         modules="FastCgiModule"
         scriptProcessor="C:\PHP\php-cgi.exe|-d open_basedir=C:\Websites\Website1"
         resourceType="Unspecified"
         requireAccess="Script" />
      <add name="PHP via FastCGI 2"
         path="*.php"
         verb="*"
         modules="FastCgiModule"
         scriptProcessor="C:\PHP\php-cgi.exe|-d open_basedir=C:\Websites\Website2"
         resourceType="Unspecified"
         requireAccess="Script" />
</handlers>
</system.webServer>

代码示例

以下代码示例为 PHP 添加 FastCGI 应用程序,将 instanceMaxRequests 属性设置为“10000”,将 PHP_FCGI_MAX_REQUESTS 环境变量设置为“10000”。每个示例还将 PHP 文件的全局 FastCGI 处理程序映射添加到 IIS,并指定 FastCGI 可执行文件的完整路径。

AppCmd.exe

appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\PHP\php-cgi.exe',arguments='',maxInstances='4',idleTimeout='300',activityTimeout='30',requestTimeout='90',instanceMaxRequests='10000',protocol='NamedPipe',flushNamedPipe='False']" /commit:apphost

appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\PHP\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']" /commit:apphost

appcmd.exe set config -section:system.webServer/handlers /+"[name='PHP-FastCGI',path='*.php',verb='GET,HEAD,POST',modules='FastCgiModule',scriptProcessor='C:\PHP\php-cgi.exe',resourceType='Either',requireAccess='Script']" /commit:apphost

注意

使用 AppCmd.exe 配置这些设置时,必须确保将 commit 参数设置为 apphost。 这会将配置设置提交到 ApplicationHost.config 文件中的相应位置部分。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection fastCgiSection = config.GetSection("system.webServer/fastCgi");
         ConfigurationElementCollection fastCgiCollection = fastCgiSection.GetCollection();
         ConfigurationElement applicationElement = fastCgiCollection.CreateElement("application");
         applicationElement["fullPath"] = @"C:\PHP\php-cgi.exe";
         applicationElement["arguments"] = @"";
         applicationElement["maxInstances"] = 4;
         applicationElement["idleTimeout"] = 300;
         applicationElement["activityTimeout"] = 30;
         applicationElement["requestTimeout"] = 90;
         applicationElement["instanceMaxRequests"] = 10000;
         applicationElement["protocol"] = @"NamedPipe";
         applicationElement["flushNamedPipe"] = false;

         ConfigurationElementCollection environmentVariablesCollection = applicationElement.GetCollection("environmentVariables");
         ConfigurationElement environmentVariableElement = environmentVariablesCollection.CreateElement("environmentVariable");
         environmentVariableElement["name"] = @"PHP_FCGI_MAX_REQUESTS";
         environmentVariableElement["value"] = @"10000";
         environmentVariablesCollection.Add(environmentVariableElement);
         fastCgiCollection.Add(applicationElement);

         ConfigurationSection handlersSection = config.GetSection("system.webServer/handlers");
         ConfigurationElementCollection handlersCollection = handlersSection.GetCollection();
         ConfigurationElement addElement = handlersCollection.CreateElement("add");
         addElement["name"] = @"PHP-FastCGI";
         addElement["path"] = @"*.php";
         addElement["verb"] = @"GET,HEAD,POST";
         addElement["modules"] = @"FastCgiModule";
         addElement["scriptProcessor"] = @"C:\PHP\php-cgi.exe";
         addElement["resourceType"] = @"Either";
         addElement["requireAccess"] = @"Script";
         handlersCollection.AddAt(0, addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration

      Dim fastCgiSection As ConfigurationSection = config.GetSection("system.webServer/fastCgi")
      Dim fastCgiCollection As ConfigurationElementCollection = fastCgiSection.GetCollection
      Dim applicationElement As ConfigurationElement = fastCgiCollection.CreateElement("application")
      applicationElement("fullPath") = "C:\PHP\php-cgi.exe"
      applicationElement("arguments") = ""
      applicationElement("maxInstances") = 4
      applicationElement("idleTimeout") = 300
      applicationElement("activityTimeout") = 30
      applicationElement("requestTimeout") = 90
      applicationElement("instanceMaxRequests") = 10000
      applicationElement("protocol") = "NamedPipe"
      applicationElement("flushNamedPipe") = False

      Dim environmentVariablesCollection As ConfigurationElementCollection = applicationElement.GetCollection("environmentVariables")
      Dim environmentVariableElement As ConfigurationElement = environmentVariablesCollection.CreateElement("environmentVariable")
      environmentVariableElement("name") = "PHP_FCGI_MAX_REQUESTS"
      environmentVariableElement("value") = "10000"
      environmentVariablesCollection.Add(environmentVariableElement)
      fastCgiCollection.Add(applicationElement)

      Dim handlersSection As ConfigurationSection = config.GetSection("system.webServer/handlers")
      Dim handlersCollection As ConfigurationElementCollection = handlersSection.GetCollection
      Dim addElement As ConfigurationElement = handlersCollection.CreateElement("add")
      addElement("name") = "PHP-FastCGI"
      addElement("path") = "*.php"
      addElement("verb") = "GET,HEAD,POST"
      addElement("modules") = "FastCgiModule"
      addElement("scriptProcessor") = "C:\PHP\php-cgi.exe"
      addElement("resourceType") = "Either"
      addElement("requireAccess") = "Script"
      handlersCollection.AddAt(0, addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var fastCgiSection = adminManager.GetAdminSection("system.webServer/fastCgi", "MACHINE/WEBROOT/APPHOST");
var fastCgiCollection = fastCgiSection.Collection;
var applicationElement = fastCgiCollection.CreateNewElement("application");
applicationElement.Properties.Item("fullPath").Value = "C:\\PHP\\php-cgi.exe";
applicationElement.Properties.Item("arguments").Value = "";
applicationElement.Properties.Item("maxInstances").Value = 4;
applicationElement.Properties.Item("idleTimeout").Value = 300;
applicationElement.Properties.Item("activityTimeout").Value = 30;
applicationElement.Properties.Item("requestTimeout").Value = 90;
applicationElement.Properties.Item("instanceMaxRequests").Value = 10000;
applicationElement.Properties.Item("protocol").Value = "NamedPipe";
applicationElement.Properties.Item("queueLength").Value = 1000;
applicationElement.Properties.Item("flushNamedPipe").Value = false;
applicationElement.Properties.Item("rapidFailsPerMinute").Value = 10;

var environmentVariablesCollection = applicationElement.ChildElements.Item("environmentVariables").Collection;
var environmentVariableElement = environmentVariablesCollection.CreateNewElement("environmentVariable");
environmentVariableElement.Properties.Item("name").Value = "PHP_FCGI_MAX_REQUESTS";
environmentVariableElement.Properties.Item("value").Value = "10000";
environmentVariablesCollection.AddElement(environmentVariableElement);
fastCgiCollection.AddElement(applicationElement);

var handlersSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST");
var handlersCollection = handlersSection.Collection;
var addElement = handlersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "PHP-FastCGI";
addElement.Properties.Item("path").Value = "*.php";
addElement.Properties.Item("verb").Value = "GET,HEAD,POST";
addElement.Properties.Item("modules").Value = "FastCgiModule";
addElement.Properties.Item("scriptProcessor").Value = "C:\\PHP\\php-cgi.exe";
addElement.Properties.Item("resourceType").Value = "Either";
addElement.Properties.Item("requireAccess").Value = "Script";
handlersCollection.AddElement(addElement, 0);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set fastCgiSection = adminManager.GetAdminSection("system.webServer/fastCgi", "MACHINE/WEBROOT/APPHOST")
Set fastCgiCollection = fastCgiSection.Collection
Set applicationElement = fastCgiCollection.CreateNewElement("application")
applicationElement.Properties.Item("fullPath").Value = "C:\PHP\php-cgi.exe"
applicationElement.Properties.Item("arguments").Value = ""
applicationElement.Properties.Item("maxInstances").Value = 4
applicationElement.Properties.Item("idleTimeout").Value = 300
applicationElement.Properties.Item("activityTimeout").Value = 30
applicationElement.Properties.Item("requestTimeout").Value = 90
applicationElement.Properties.Item("instanceMaxRequests").Value = 10000
applicationElement.Properties.Item("protocol").Value = "NamedPipe"
applicationElement.Properties.Item("queueLength").Value = 1000
applicationElement.Properties.Item("flushNamedPipe").Value = false
applicationElement.Properties.Item("rapidFailsPerMinute").Value = 10

Set environmentVariablesCollection = applicationElement.ChildElements.Item("environmentVariables").Collection
Set environmentVariableElement = environmentVariablesCollection.CreateNewElement("environmentVariable")
environmentVariableElement.Properties.Item("name").Value = "PHP_FCGI_MAX_REQUESTS"
environmentVariableElement.Properties.Item("value").Value = "10000"
environmentVariablesCollection.AddElement(environmentVariableElement)
Call fastCgiCollection.AddElement(applicationElement)

Set handlersSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST")
Set handlersCollection = handlersSection.Collection
Set addElement = handlersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "PHP-FastCGI"
addElement.Properties.Item("path").Value = "*.php"
addElement.Properties.Item("verb").Value = "GET,HEAD,POST"
addElement.Properties.Item("modules").Value = "FastCgiModule"
addElement.Properties.Item("scriptProcessor").Value = "C:\PHP\php-cgi.exe"
addElement.Properties.Item("resourceType").Value = "Either"
addElement.Properties.Item("requireAccess").Value = "Script"
Call handlersCollection.AddElement(addElement, 0)

adminManager.CommitChanges()