FastCGI fastCgi <>
Обзор
Элемент <fastCgi>
содержит коллекцию элементов, каждый из которых создает определение пула приложений <application>
FastCGI. службы IIS (IIS) 7 включает компонент FastCGI. Этот компонент обеспечивает большую надежность и более высокую производительность и позволяет запускать платформу приложений PHP и другие платформы веб-приложений в IIS 7.
Самое простое определение пула приложений FastCGI требует включения атрибута fullPath в <application>
элемент для определения двоичных файлов, используемых для конкретной платформы приложений. Для платформы PHP задайте для атрибута fullPath имя каталога и файла двоичных файлов PHP.
Другие атрибуты являются необязательными и позволяют настроить ряд других параметров. К ним относятся максимальное количество запросов, которые может обрабатывать рабочий процесс FastCGI до его перезапуска, максимальное количество рабочих процессов для пула приложений и максимальное время, которое может занять запрос FastCGI.
Примечание.
Чтобы обрабатывать запросы с помощью FastCGI, сначала необходимо сопоставить путь и определенные расширения имени файла с модулем FastCGI и указать целевой процесс FastCGI в качестве обработчика скриптов.
Новые возможности в IIS 7.5
IIS 7.5 добавил в элемент следующие атрибуты <fastCgi>
/<application>
:
- Атрибут monitorChangesTo позволяет указать файл для отслеживания изменений, которые могут повлиять на поведение приложения FastCGI. Например, если вы используете платформу PHP, можно настроить СЛУЖБЫ IIS для мониторинга PHP. INI-файл для изменений, указав полный путь к файлу в атрибуте monitorChangesTo .
- Атрибут stderrMode указывает, как IIS 7 будет обрабатывать ошибки, возвращаемые из приложения FastCGI через поток STDERR.
- Атрибут signalBeforeTerminateSeconds позволяет настроить службы IIS для ожидания заданного периода времени после того, как IIS сигнализирует приложению FastCGI о завершении работы. Это позволяет приложению FastCGI очистить все параметры перед завершением процесса IIS.
Совместимость
Версия | Примечания. |
---|---|
IIS 10.0 | Элемент <fastCgi> не был изменен в IIS 10.0. |
IIS 8.5 | Элемент <fastCgi> не был изменен в IIS 8.5. |
IIS 8.0 | Элемент <fastCgi> не был изменен в IIS 8.0. |
IIS 7.5 | Элемент <application> <fastCgi> коллекции был обновлен в IIS 7.5 с атрибутами monitorChangesTo, stderrMode и signalBeforeTerminateSeconds . |
IIS 7.0 | Элемент <fastCgi> появился в IIS 7.0. |
IIS 6,0 | Н/П |
Настройка
Чтобы использовать среду FastCGI, необходимо сначала установить службу ролей CGI. Процесс установки регистрирует службу ролей Common Gateway Interface (CGI) в обоих элементах <globalModules>
и <modules>
элементах. Чтобы установить среду FastCGI, вам не нужно выполнять никаких других действий.
Windows Server 2012 или Windows Server 2012 R2
- На панели задач щелкните Диспетчер сервера.
- В диспетчер сервера щелкните меню "Управление" и выберите пункт "Добавить роли и компоненты".
- В мастере добавления ролей и компонентов нажмите кнопку "Далее". Выберите тип установки и нажмите кнопку "Далее". Выберите целевой сервер и нажмите кнопку "Далее".
- На странице ролей сервера разверните веб-сервер (IIS), разверните веб-сервер, разверните узел "Разработка приложений", а затем выберите CGI. Нажмите кнопку Далее.
- На странице Выбор компонентов нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки щелкните Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
- На начальном экране переместите указатель на левый нижний угол, щелкните правой кнопкой "Пуск" и щелкните панель управления.
- В панель управления щелкните "Программы и компоненты", а затем выберите "Включить или отключить функции Windows".
- Разверните службы IIS, разверните веб-службы World Wide, разверните компоненты разработки приложений и выберите CGI.
- Щелкните OK.
- Нажмите кнопку Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку "Пуск", наведите указатель на Администратор istrative Tools, а затем щелкните диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел "Роли" и выберите веб-сервер (IIS).
- В области веб-сервера (IIS) прокрутите страницу до раздела "Службы ролей" и нажмите кнопку "Добавить службы ролей".
- На странице "Выбор служб ролей" мастера добавления служб ролей выберите CGI и нажмите кнопку "Далее".
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
- На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
- В панель управления щелкните "Программы и компоненты", а затем нажмите кнопку "Включить или отключить компоненты Windows".
- Разверните службы IIS, а затем выберите CGI и нажмите кнопку "ОК".
Инструкции
Примечание для пользователей IIS 7.0. Для некоторых действий, описанных в этом разделе, может потребоваться установить пакет microsoft Администратор istration для IIS 7.0, включающий пользовательский интерфейс для параметров FastCGI. Чтобы установить пакет microsoft Администратор istration для IIS 7.0, см. следующий URL-адрес:
Создание глобального сопоставления обработчиков FastCGI для PHP
Примечание.
Перед выполнением следующей процедуры необходимо установить двоичные файлы, которые будут выполнять указанный путь к файлу или расширение имени файла. В этом примере используется реализация PHP, доступная из https://www.php.net/.
Откройте диспетчер службы 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).
В области Подключение ions щелкните имя сервера, для которого необходимо настроить сопоставления обработчиков FastCGI.
На панели "Главная" дважды щелкните сопоставления обработчиков.
На панели Действия выберите Добавить сопоставление модуля.
Введите следующие данные:
Введите расширение имени файла в текстовом поле пути запроса. Например, "*.php".
Щелкните FastCgiModule в раскрывающемся списке модуля .
Введите путь к обработчику сценариев в поле исполняемого файла. Например, "C:\PHP\php-cgi.exe".
Введите уникальное имя для сопоставления обработчика в поле "Имя ". Например, PHP-FastCGI.
Нажмите кнопку " Ограничения запросов"
Выберите обработчик вызова, только если запрос сопоставляется с.
Щелкните, чтобы выбрать параметр "Файл" или "Папка ".
Щелкните OK.
Щелкните OK.
Если вам будет предложено создать приложение FastCGI в диалоговом окне "Добавление сопоставления модулей", нажмите кнопку "Да".
Примечание.
Это автоматически создаст приложение FastCGI для только что созданного сопоставления обработчика. Если вы выберете "Нет", вы можете создать приложение FastCGI вручную позже.
Создание приложения FastCGI для PHP
Примечание.
Перед выполнением следующей процедуры необходимо установить двоичные файлы, которые будут выполнять указанный путь к файлу или расширение имени файла. В этом примере используется реализация PHP, доступная из www.php.net.
Примечание.
Добавление приложения FastCGI не добавляет сопоставление обработчика автоматически. Для этого необходимо выполнить действия, описанные в разделе "Создание сопоставления обработчика FastCGI для PHP] этой статьи.
Откройте диспетчер службы 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).
В области Подключение ions щелкните имя сервера, для которого необходимо настроить параметры FastCGI.
В области "Главная" дважды щелкните FastCGI Параметры.
В области действий нажмите кнопку "Добавить приложение"
В диалоговом окне "Добавление приложения FastCGI" введите следующие сведения:
Введите путь к обработчику сценариев в поле "Полный путь ". Например, "C:\PHP\php-cgi.exe".
Введите максимальное количество запросов для приложения FastCGI.
Примечание.
Для PHP это число должно быть меньше или равно максимальному количеству запросов к среде PHP, которое настраивается с помощью переменной
PHP_FCGI_MAX_REQUESTS
среды.
Щелкните многоточие (...) рядом с EnvironmentVariables , чтобы открыть редактор коллекции переменных среды.
В диалоговом окне редактора коллекции EnvironmentVariables нажмите кнопку "Добавить".
Введите следующие сведения и нажмите кнопку "ОК".
Введите "PHP_FCGI_MAX_REQUESTS" для имени.
Введите значение 10000.
Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Добавить приложение FastCGI".
Добавление переменной среды FastCGI для PHP
Примечание.
Перед выполнением следующей процедуры необходимо установить двоичные файлы, которые будут выполнять указанный путь к файлу или расширение имени файла. В этом примере используется реализация PHP, доступная из https://www.php.net/.
Откройте диспетчер службы 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).
В области Подключение ions щелкните имя сервера, для которого необходимо настроить параметры FastCGI.
В области "Главная" дважды щелкните FastCGI Параметры.
Выделите приложение PHP в области Параметры FastCGI, а затем нажмите кнопку "Изменить" на панели "Действия".
В диалоговом окне "Изменение приложения FastCGI" щелкните многоточие (...) рядом с EnvironmentVariables, чтобы открыть редактор коллекции переменных среды.
В диалоговом окне редактора коллекции EnvironmentVariables нажмите кнопку "Добавить".
Введите следующие сведения и нажмите кнопку "ОК".
Введите "PHP_FCGI_MAX_REQUESTS" для имени.
Введите значение 10000.
Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Добавить приложение FastCGI".
Настройка
Элемент можно настроить <fastCgi>
на уровне сервера в файле applicationHost.config или на уровне сайта, на уровне приложения или на уровне каталога в файле Web.config.
Атрибуты
Нет.
Дочерние элементы
Элемент | Description |
---|---|
application |
Необязательный элемент. Добавляет определение пула процессов FastCGI в коллекцию определений пула процессов FastCGI. |
Образец конфигурации
Следующий пример конфигурации добавляет приложение 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()