Bagikan melalui


Lingkungan Variabel <LingkunganVariables> dari elemen FastCGI <application>

Elemen <environmentVariables> elemen FastCGI <application> menentukan daftar variabel lingkungan yang akan diteruskan Layanan Informasi Internet (IIS) 7 ke proses FastCGI saat diluncurkan. Elemen <environmentVariables> berisi kumpulan <environmentVariable> elemen yang menentukan pasangan nama/nilai individual untuk setiap variabel lingkungan.

Setiap aplikasi FastCGI yang diinstal pada IIS 7 dapat memungkinkan atau memerlukan variabel lingkungan untuk mengonfigurasi cara kerja aplikasi FastCGI. Misalnya, satu aplikasi FastCGI mungkin memerlukan variabel lingkungan yang menentukan di mana file konfigurasi aplikasi berada, sedangkan aplikasi FastCGI lain mungkin memerlukan variabel lingkungan yang menentukan jumlah permintaan setelah itu perlu didaur ulang.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <environmentVariables> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <environmentVariables> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <environmentVariables> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <environmentVariables> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <environmentVariables> elemen FastCGI <application> diperkenalkan dalam IIS 7.0.
IIS 6.0 T/A

Siapkan

Untuk menggunakan lingkungan FastCGI, Anda harus terlebih dahulu menginstal layanan peran CGI. Proses penginstalan mendaftarkan layanan peran Common Gateway Interface (CGI) di <globalModules> elemen dan <modules> . Anda tidak perlu melakukan langkah-langkah lain untuk menginstal lingkungan FastCGI.

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server.
  2. Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
  3. Di wizard Tambahkan Peran dan Fitur, klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
  4. Pada halaman Peran Server, perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih CGI. Klik Berikutnya.
    Cuplikan layar memperlihatkan halaman Peran Server yang menyoroti kotak centang C G I.
  5. Pada halaman Pilih Fitur , klik Berikutnya.
  6. Pada halaman Konfirmasi pilihan instalasi, klik Instal.
  7. Pada halaman Hasil , klik Tutup.

Windows 8 atau Windows 8.1

  1. Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
  3. Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih CGI.
    Cuplikan layar memperlihatkan Layanan Informasi Internet menyoroti kotak centang C G I.
  4. Klik OK.
  5. Klik Tutup.

Windows Server 2008 atau Windows Server 2008 R2

  1. Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
  2. Di panel hierarki Manajer Server, perluas Peran, lalu klik Server Web (IIS).
  3. Di panel Server Web (IIS), gulir ke bagian Layanan Peran, lalu klik Tambahkan Layanan Peran.
  4. Pada halaman Pilih Layanan Peran wizard Tambahkan Layanan Peran, pilih CGI, lalu klik Berikutnya.
    Cuplikan layar memperlihatkan halaman Pilih Layanan Peran yang menyoroti kotak centang C G I.
  5. Pada halaman Konfirmasi Pilihan Penginstalan, klik Instal.
  6. Pada halaman Hasil , klik Tutup.

Windows Vista atau Windows 7

  1. Pada bilah tugas, klik Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
  3. Perluas Layanan Informasi Internet, lalu pilih CGI, lalu klik OK.
    Cuplikan layar memperlihatkan halaman Layanan Informasi Internet yang menyoroti kotak centang C G I.

Bagaimana Caranya

Catatan untuk pengguna IIS 7.0: Beberapa langkah di bagian ini mungkin mengharuskan Anda menginstal Paket Administrasi Microsoft untuk IIS 7.0, yang mencakup antarmuka pengguna untuk pengaturan FastCGI. Untuk menginstal Paket Administrasi Microsoft untuk IIS 7.0, lihat URL berikut:

Cara membuat pemetaan handler FastCGI global untuk PHP

Catatan

Sebelum prosedur berikut ini berfungsi, Anda harus sudah menginstal biner yang akan menjalankan jalur file atau ekstensi nama file yang Anda tentukan. Contoh ini menggunakan implementasi PHP yang tersedia dari www.php.net.

  1. Buka Manajer Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada bilah tugas, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Layanan Informasi Internet (IIS) Manager.
  2. Di panel Koneksi ions, klik nama server yang ingin Anda konfigurasikan pemetaan handler FastCGInya.

  3. Di panel Beranda , klik dua kali Pemetaan Handler.
    Cuplikan layar memperlihatkan panel Beranda menyoroti folder Pemetaan Handler.

  4. Di panel Tindakan , klik Tambahkan Pemetaan Modul.
    Cuplikan layar memperlihatkan panel Tindakan dengan bidang Nama dan Jalur.

  5. Masukkan informasi berikut:

    • Masukkan ekstensi nama file dalam kotak teks Jalur permintaan. Misalnya, "*.php".
    • Klik FastCgiModule di daftar drop-down Modul .
    • Masukkan jalur ke mesin skrip dalam kotak Dapat Dieksekusi . Misalnya, "C:\PHP\php-cgi.exe".
    • Masukkan nama unik untuk pemetaan handler di kotak Nama . Misalnya, "PHP-FastCGI".

    Cuplikan layar memperlihatkan jendela Tambahkan Pemetaan Modul dengan jalur Permintaan dan bidang Modul.

    • Klik Minta Pembatasan.
    • Pilih Panggil handler hanya jika permintaan dipetakan.
    • Klik untuk memilih opsi File atau Folder .
    • Klik OK.
      Cuplikan layar memperlihatkan jendela Pembatasan Permintaan dengan tombol radio File atau folder dipilih.
  6. Klik OK.

  7. Jika Anda diminta untuk membuat aplikasi FastCGI dalam kotak dialog Tambahkan Pemetaan Modul, klik Ya.
    Cuplikan layar memperlihatkan perintah Tambahkan Pemetaan Modul untuk membuat aplikasi Fast C G I.

    Catatan

    Ini akan secara otomatis membuat aplikasi FastCGI untuk pemetaan handler yang baru saja Anda buat. Jika Anda memilih Tidak, Anda dapat membuat aplikasi FastCGI secara manual nanti.

Cara membuat aplikasi FastCGI untuk PHP

Catatan

Sebelum prosedur berikut ini berfungsi, Anda harus sudah menginstal biner yang akan menjalankan jalur file atau ekstensi nama file yang Anda tentukan. Contoh ini menggunakan implementasi PHP yang tersedia dari www.php.net.

Catatan

Menambahkan aplikasi FastCGI tidak secara otomatis menambahkan pemetaan handler. Untuk melakukannya, Anda harus mengikuti langkah-langkah di bagian Cara membuat pemetaan handler FastCGI global untuk PHP di artikel ini.

  1. Buka Manajer Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada bilah tugas, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Layanan Informasi Internet (IIS) Manager.
  2. Di panel Koneksi ion, klik nama server yang ingin Anda konfigurasi pengaturan FastCGI-nya.

  3. Di panel Beranda, klik dua kali Pengaturan FastCGI.
    Cuplikan layar memperlihatkan panel Beranda yang menyoroti ikon Pengaturan Fast C G I.

  4. Di panel Tindakan , klik Tambahkan Aplikasi.
    Cuplikan layar memperlihatkan panel Tindakan untuk menambahkan aplikasi.

  5. Dalam kotak dialog Tambahkan Aplikasi FastCGI, masukkan informasi berikut ini:

    • Masukkan jalur ke mesin skrip di kotak Jalur Lengkap. Misalnya, "C:\PHP\php-cgi.exe".

    • Masukkan jumlah maksimum permintaan untuk aplikasi FastCGI.

      Catatan

      Untuk PHP, angka ini harus lebih kecil atau sama dengan jumlah maksimum permintaan untuk lingkungan PHP, yang dikonfigurasi dengan menggunakan variabel lingkungan PHP_FCGI_MAX_REQUESTS.

    Cuplikan layar memperlihatkan jendela Tambahkan Aplikasi C G I Cepat dengan bidang Jalur Lengkap dan Argumen.

  6. Klik elipsis (...) di samping EnvironmentVariables untuk membuka editor pengumpulan variabel lingkungan.

  7. Dalam kotak dialog Editor Koleksi EnvironmentVariables, klik Tambahkan.
    Cuplikan layar memperlihatkan jendela Editor Koleksi Variabel Lingkungan untuk menambahkan Anggota.

  8. Masukkan informasi berikut, lalu klik OK.

    • Masukkan "PHP_FCGI_MAX_REQUESTS" untuk Nama.
    • Masukkan "10000" untuk Nilai.

    Cuplikan layar memperlihatkan kotak dialog Editor Koleksi Variabel Lingkungan yang menyoroti Nama.

  9. Klik OK untuk menutup kotak dialog Tambahkan Aplikasi FastCGI.

Cara menambahkan variabel lingkungan FastCGI untuk PHP

Catatan

Sebelum prosedur berikut ini berfungsi, Anda harus sudah menginstal biner yang akan menjalankan jalur file atau ekstensi nama file yang Anda tentukan. Contoh ini menggunakan implementasi PHP yang tersedia dari www.php.net.

  1. Buka Manajer Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada bilah tugas, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Layanan Informasi Internet (IIS) Manager.
  2. Di panel Koneksi ion, klik nama server yang ingin Anda konfigurasi pengaturan FastCGI-nya.

  3. Di panel Beranda, klik dua kali Pengaturan FastCGI.
    Cuplikan layar memperlihatkan panel Beranda yang menyoroti folder fast C G I Pengaturan.

  4. Sorot aplikasi PHP di panel Pengaturan FastCGI, lalu klik Edit di panel Tindakan.
    Cuplikan layar memperlihatkan halaman Fast C G I Pengaturan yang menyoroti nama Jalur Lengkap.

  5. Dalam kotak dialog Edit Aplikasi FastCGI, klik elipsis (...) di samping EnvironmentVariables untuk membuka editor koleksi variabel lingkungan.
    Cuplikan layar memperlihatkan kotak dialog Edit aplikasi C G I Cepat dengan bidang Jalur Lengkap dan Argumen.

  6. Dalam kotak dialog Editor Koleksi EnvironmentVariables, klik Tambahkan.
    Cuplikan layar memperlihatkan kotak dialog Editor Koleksi Variabel Lingkungan untuk menambahkan Anggota.

  7. Masukkan informasi berikut, lalu klik OK.

    • Masukkan "PHP_FCGI_MAX_REQUESTS" untuk Nama.
    • Masukkan "10000" untuk Nilai.

    Cuplikan layar memperlihatkan kotak dialog Editor Koleksi Variabel Lingkungan yang menyoroti nama variabel lingkungan.

  8. Klik OK untuk menutup kotak dialog Tambahkan Aplikasi FastCGI.

Konfigurasi

Atribut

Tidak ada.

Elemen Anak

Elemen Deskripsi
environmentVariable Elemen opsional.

Menambahkan variabel lingkungan ke kumpulan variabel lingkungan.

Sampel Konfigurasi

Sampel konfigurasi berikut menambahkan aplikasi FastCGI untuk PHP, mengatur atribut instanceMaxRequests ke "10000," dan mengatur variabel lingkungan PHP_FCGI_MAX_REQUESTS ke "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>

Catatan

Untuk PHP, nilai variabel lingkungan PHP_FCGI_MAX_REQUESTS harus berupa angka yang lebih kecil atau sama dengan nilai yang ditentukan oleh atribut instanceMaxRequests dari elemen FastCGI <application> .

Sampel konfigurasi berikut menambahkan pemetaan handler FastCGI global untuk file PHP ke IIS dan menentukan jalur lengkap ke file yang dapat dieksekusi 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>

Catatan

Pengaturan FastCGI dapat dikonfigurasi per situs melalui penggunaan aplikasi FastCGI yang diformat khusus dan dengan pemetaan handler, yang dibedakan dengan mencocokkan atribut fullPath dan argumen untuk <application> elemen dengan atribut scriptProcessor yang sesuai dalam <handlers> pemetaan untuk proses FastCGI. Untuk membuat pemetaan ini, pengaturan di atribut fullPath dan argumen untuk <application> elemen harus ditambahkan ke atribut scriptProcessor dalam <handlers> pemetaan untuk proses FastCGI dan dipisahkan oleh karakter pipa "|". Kombinasi ini berfungsi sebagai kunci unik untuk setiap aplikasi FastCGI. Misalnya, kutipan konfigurasi berikut menunjukkan dua contoh <elemen fastCgi>/<aplikasi> dan pemetaan handler> yang sesuai <untuk dua penangan PHP khusus situs:

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

Kode Sampel

Sampel kode berikut menambahkan aplikasi FastCGI untuk PHP, mengatur atribut instanceMaxRequests ke "10000," dan mengatur variabel lingkungan PHP_FCGI_MAX_REQUESTS ke "10000." Setiap sampel juga menambahkan pemetaan handler FastCGI global untuk file PHP ke IIS dan menentukan jalur lengkap ke file yang dapat dieksekusi 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

Catatan

Anda harus yakin untuk mengatur parameter penerapan ke apphost ketika Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai di file 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()