Поделиться через


Среда переменных <средыVariables> элемента FastCGI <application>

Элемент <environmentVariables> элемента FastCGI указывает список переменных среды, которые службы IIS (IIS) 7 передаются в процесс FastCGI <application> при запуске. Элемент <environmentVariables> содержит коллекцию элементов, определяющих <environmentVariable> отдельные пары имен и значений для каждой переменной среды.

Каждое приложение FastCGI, установленное в IIS 7, может разрешать или требовать переменных среды для настройки работы приложения 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 Элемент <environmentVariables> элемента FastCGI <application> появился в IIS 7.0.
IIS 6,0 Н/П

Настройка

Чтобы использовать среду FastCGI, необходимо сначала установить службу ролей CGI. Процесс установки регистрирует службу ролей Common Gateway Interface (CGI) в обоих элементах <globalModules> и <modules> элементах. Чтобы установить среду FastCGI, вам не нужно выполнять никаких других действий.

Windows Server 2012 или Windows Server 2012 R2

  1. На панели задач щелкните Диспетчер сервера.
  2. В диспетчер сервера щелкните меню "Управление" и выберите пункт "Добавить роли и компоненты".
  3. В мастере добавления ролей и компонентов нажмите кнопку "Далее". Выберите тип установки и нажмите кнопку "Далее". Выберите целевой сервер и нажмите кнопку "Далее".
  4. На странице ролей сервера разверните веб-сервер (IIS), разверните веб-сервер, разверните узел "Разработка приложений", а затем выберите CGI. Нажмите кнопку Далее.
    Снимок экрана: страница
  5. На странице Выбор компонентов нажмите кнопку Далее.
  6. На странице Подтверждение выбранных элементов для установки щелкните Установить.
  7. На странице Результаты нажмите кнопку Закрыть.

Windows 8 или Windows 8.1

  1. На начальном экране переместите указатель на левый нижний угол, щелкните правой кнопкой "Пуск" и щелкните панель управления.
  2. В панель управления щелкните "Программы и компоненты", а затем выберите "Включить или отключить функции Windows".
  3. Разверните службы IIS, разверните веб-службы World Wide, разверните компоненты разработки приложений и выберите CGI.
    Снимок экрана: службы IIS выделение папки C G I проверка box.
  4. Щелкните OK.
  5. Нажмите кнопку Закрыть.

Windows Server 2008 или Windows Server 2008 R2

  1. На панели задач нажмите кнопку "Пуск", наведите указатель на Администратор istrative Tools, а затем щелкните диспетчер сервера.
  2. В области иерархии диспетчер сервера разверните узел "Роли" и выберите веб-сервер (IIS).
  3. В области веб-сервера (IIS) прокрутите страницу до раздела "Службы ролей" и нажмите кнопку "Добавить службы ролей".
  4. На странице "Выбор служб ролей" мастера добавления служб ролей выберите CGI и нажмите кнопку "Далее".
    Снимок экрана: страница
  5. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  6. На странице Результаты нажмите кнопку Закрыть.

Windows Vista или Windows 7

  1. На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
  2. В панель управления щелкните "Программы и компоненты", а затем нажмите кнопку "Включить или отключить компоненты Windows".
  3. Разверните службы IIS, а затем выберите CGI и нажмите кнопку "ОК".
    Снимок экрана: страница службы IIS с выделением проверка поля C G I.

Инструкции

Примечание для пользователей IIS 7.0. Для некоторых действий, описанных в этом разделе, может потребоваться установить пакет microsoft Администратор istration для IIS 7.0, включающий пользовательский интерфейс для параметров FastCGI. Чтобы установить пакет microsoft Администратор istration для IIS 7.0, см. следующий URL-адрес:

Создание глобального сопоставления обработчиков FastCGI для PHP

Примечание.

Перед выполнением следующей процедуры необходимо установить двоичные файлы, которые будут выполнять указанный путь к файлу или расширение имени файла. В этом примере используется реализация PHP, доступная из www.php.net.

  1. Откройте диспетчер службы IIS (IIS):

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
      • Щелкните Администратор istrative Tools и дважды щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку "Пуск", наведите указатель на Администратор istrative Tools, а затем щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
      • Дважды щелкните Администратор istrative Tools, а затем дважды щелкните диспетчер службы IIS (IIS).
  2. В области Подключение ions щелкните имя сервера, для которого необходимо настроить сопоставления обработчиков FastCGI.

  3. На панели "Главная" дважды щелкните сопоставления обработчиков.
    Снимок экрана: главная область выделения папки

  4. На панели Действия выберите Добавить сопоставление модуля.
    Снимок экрана: область

  5. Введите следующие данные:

    • Введите расширение имени файла в текстовом поле пути запроса. Например, "*.php".
    • Щелкните FastCgiModule в раскрывающемся списке модуля .
    • Введите путь к обработчику сценариев в поле исполняемого файла. Например, "C:\PHP\php-cgi.exe".
    • Введите уникальное имя для сопоставления обработчика в поле "Имя ". Например, PHP-FastCGI.

    Снимок экрана: окно

    • Щелкните " Ограничения запроса".
    • Выберите обработчик вызова, только если запрос сопоставляется с.
    • Щелкните, чтобы выбрать параметр "Файл" или "Папка ".
    • Щелкните OK.
      Снимок экрана: окно
  6. Щелкните OK.

  7. Если вам будет предложено создать приложение FastCGI в диалоговом окне "Добавление сопоставления модулей", нажмите кнопку "Да".
    Снимок экрана: запрос на добавление сопоставления модулей для создания приложения Fast C G I.

    Примечание.

    Это автоматически создаст приложение FastCGI для только что созданного сопоставления обработчика. Если вы выберете "Нет", вы можете создать приложение FastCGI вручную позже.

Создание приложения FastCGI для PHP

Примечание.

Перед выполнением следующей процедуры необходимо установить двоичные файлы, которые будут выполнять указанный путь к файлу или расширение имени файла. В этом примере используется реализация PHP, доступная из www.php.net.

Примечание.

Добавление приложения FastCGI не добавляет сопоставление обработчика автоматически. Для этого вам потребуется выполнить действия, описанные в руководстве по созданию глобального сопоставления обработчика FastCGI для PHP раздела этой статьи.

  1. Откройте диспетчер службы IIS (IIS):

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
      • Щелкните Администратор istrative Tools и дважды щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку "Пуск", наведите указатель на Администратор istrative Tools, а затем щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
      • Дважды щелкните Администратор istrative Tools, а затем дважды щелкните диспетчер службы IIS (IIS).
  2. В области Подключение ions щелкните имя сервера, для которого необходимо настроить параметры FastCGI.

  3. В области "Главная" дважды щелкните FastCGI Параметры.
    Снимок экрана: панель

  4. В области "Действия" нажмите кнопку "Добавить приложение".
    Снимок экрана: область действий для добавления приложения.

  5. В диалоговом окне "Добавление приложения FastCGI" введите следующие сведения:

    • Введите путь к обработчику сценариев в поле "Полный путь ". Например, "C:\PHP\php-cgi.exe".

    • Введите максимальное количество запросов для приложения FastCGI.

      Примечание.

      Для PHP это число должно быть меньше или равно максимальному количеству запросов к среде PHP, которое настраивается с помощью переменной среды PHP_FCGI_MAX_REQUESTS.

    Снимок экрана: окно

  6. Щелкните многоточие (...) рядом с EnvironmentVariables , чтобы открыть редактор коллекции переменных среды.

  7. В диалоговом окне редактора коллекции EnvironmentVariables нажмите кнопку "Добавить".
    Снимок экрана: окно редактора коллекции переменных среды для добавления участников.

  8. Введите следующие сведения и нажмите кнопку "ОК".

    • Введите "PHP_FCGI_MAX_REQUESTS" для имени.
    • Введите значение 10000.

    Снимок экрана: диалоговое окно редактора коллекции переменных среды с выделением имени.

  9. Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Добавить приложение FastCGI".

Добавление переменной среды FastCGI для PHP

Примечание.

Перед выполнением следующей процедуры необходимо установить двоичные файлы, которые будут выполнять указанный путь к файлу или расширение имени файла. В этом примере используется реализация PHP, доступная из www.php.net.

  1. Откройте диспетчер службы IIS (IIS):

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
      • Щелкните Администратор istrative Tools и дважды щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку "Пуск", наведите указатель на Администратор istrative Tools, а затем щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
      • Дважды щелкните Администратор istrative Tools, а затем дважды щелкните диспетчер службы IIS (IIS).
  2. В области Подключение ions щелкните имя сервера, для которого необходимо настроить параметры FastCGI.

  3. В области "Главная" дважды щелкните FastCGI Параметры.
    Снимок экрана: панель

  4. Выделите приложение PHP в области Параметры FastCGI, а затем нажмите кнопку "Изменить" в области "Действия".
    Снимок экрана: страница fast C G I Параметры с указанием имени полного пути.

  5. В диалоговом окне "Изменение приложения FastCGI" щелкните многоточие (...) рядом с EnvironmentVariables, чтобы открыть редактор коллекции переменных среды.
    Снимок экрана: диалоговое окно

  6. В диалоговом окне редактора коллекции EnvironmentVariables нажмите кнопку "Добавить".
    Снимок экрана: диалоговое окно редактора коллекции переменных среды для добавления участников.

  7. Введите следующие сведения и нажмите кнопку "ОК".

    • Введите "PHP_FCGI_MAX_REQUESTS" для имени.
    • Введите значение 10000.

    Снимок экрана: диалоговое окно редактора коллекции переменных среды с указанием имени переменной среды.

  8. Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Добавить приложение FastCGI".

Настройка

Атрибуты

Нет.

Дочерние элементы

Элемент Description
environmentVariable Необязательный элемент.

Добавляет переменную среды в коллекцию переменных среды.

Образец конфигурации

Следующий пример конфигурации добавляет приложение FastCGI для PHP, задает атрибут 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 должно быть числом, которое меньше или равно значению, заданному атрибутом instanceMaxRequests элемента FastCGI <application> .

Следующий пример конфигурации добавляет глобальное сопоставление обработчика FastCGI для PHP-файлов в 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 и сопоставления обработчиков, которые различаются путем сопоставления атрибутов fullPath и аргументов для <application> элемента с соответствующим атрибутом scriptProcessor в <handlers> сопоставлении процесса FastCGI. Чтобы создать эти сопоставления, параметры в атрибутах fullPath и аргументах элемента <application> должны быть добавлены в атрибут scriptProcessor в <handlers> сопоставлении для процесса FastCGI и разделены символом "|". Это сочетание служит уникальным ключом для каждого приложения FastCGI. Например, в следующем фрагменте конфигурации показаны два примера <элементов fastCgi>/<application> и соответствующие <сопоставления обработчиков> для двух обработчиков PHP для отдельных сайтов:

<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>

Пример кода

В следующих примерах кода добавьте приложение FastCGI для PHP, задайте для атрибута instanceMaxRequests значение "10000" и задайте для переменной среды PHP_FCGI_MAX_REQUESTS значение "10000". Каждый пример также добавляет глобальное сопоставление обработчика FastCGI для PHP-файлов в 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 для настройки этих параметров необходимо задать параметр 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()