FastCGI <fastCgi>
Gambaran Umum
Elemen ini <fastCgi>
berisi kumpulan <application>
elemen, yang masing-masing membuat definisi kumpulan aplikasi FastCGI. Layanan Informasi Internet (IIS) 7 mencakup komponen FastCGI. Komponen ini memberi Anda keandalan yang lebih besar dan performa yang lebih baik dan memungkinkan Anda menjalankan kerangka kerja aplikasi PHP dan kerangka kerja aplikasi Web lainnya di IIS 7.
Definisi kumpulan aplikasi FastCGI paling sederhana mengharuskan Anda menyertakan atribut fullPath dalam <application>
elemen untuk menentukan biner yang akan digunakan untuk kerangka kerja aplikasi tertentu. Untuk kerangka kerja PHP, atur atribut fullPath ke direktori dan nama file biner PHP.
Atribut lain bersifat opsional dan memungkinkan Anda mengonfigurasi sejumlah parameter lain. Ini termasuk jumlah maksimum permintaan yang dapat diproses oleh proses pekerja FastCGI sebelum didaur ulang, jumlah maksimum proses pekerja untuk kumpulan aplikasi, dan jumlah maksimum waktu yang dapat diambil permintaan FastCGI.
Catatan
Untuk memproses permintaan dengan menggunakan FastCGI, Anda harus terlebih dahulu memetakan jalur dan ekstensi nama file tertentu ke modul FastCGI dan menentukan proses FastCGI target sebagai prosesor skrip.
Baru di IIS 7.5
IIS 7.5 menambahkan atribut berikut ke <fastCgi>
/<application>
elemen :
- Atribut monitorChangesTo memungkinkan Anda menentukan file untuk memantau perubahan yang mungkin memengaruhi perilaku aplikasi FastCGI. Misalnya, jika Anda menggunakan kerangka kerja PHP, Anda dapat mengonfigurasi IIS untuk memantau PHP. File INI untuk perubahan dengan menentukan jalur lengkap ke file di atribut monitorChangesTo .
- Atribut stderrMode menentukan bagaimana IIS 7 akan menangani kesalahan yang dikembalikan dari aplikasi FastCGI melalui aliran STDERR.
- Atribut signalBeforeTerminateSeconds memungkinkan Anda mengonfigurasi IIS untuk menunggu periode waktu tertentu setelah IIS memberi sinyal aplikasi FastCGI bahwa ia perlu dimatikan. Ini memungkinkan aplikasi FastCGI membersihkan pengaturan apa pun sebelum IIS mengakhiri proses.
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <fastCgi> tidak dimodifikasi dalam IIS 10.0. |
IIS 8.5 | Elemen <fastCgi> tidak dimodifikasi dalam IIS 8.5. |
IIS 8.0 | Elemen <fastCgi> tidak dimodifikasi dalam IIS 8.0. |
IIS 7.5 | Elemen <application> <fastCgi> koleksi diperbarui di IIS 7.5 dengan atribut monitorChangesTo, stderrMode, dan signalBeforeTerminateSeconds . |
IIS 7.0 | Elemen ini <fastCgi> 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
- Pada taskbar, klik Manajer Server.
- Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
- Di wizard Tambahkan Peran dan Fitur, klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
- Pada halaman Peran Server, perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih CGI. Klik Berikutnya.
- Pada halaman Pilih Fitur , klik Berikutnya.
- Pada halaman Konfirmasi pilihan instalasi, klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows 8 atau Windows 8.1
- Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
- Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih CGI.
- Klik OK.
- Klik Tutup.
Windows Server 2008 atau Windows Server 2008 R2
- Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
- Di panel hierarki Manajer Server, perluas Peran, lalu klik Server Web (IIS).
- Di panel Server Web (IIS), gulir ke bagian Layanan Peran, lalu klik Tambahkan Layanan Peran.
- Pada halaman Pilih Layanan Peran wizard Tambahkan Layanan Peran, pilih CGI, lalu klik Berikutnya.
- Pada halaman Konfirmasi Pilihan Penginstalan, klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows Vista atau Windows 7
- Pada bilah tugas, klik Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
- Perluas Layanan Informasi Internet, lalu pilih CGI, lalu klik OK.
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 https://www.php.net/.
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.
Di panel Koneksi ions, klik nama server yang ingin Anda konfigurasikan pemetaan handler FastCGInya.
Di panel Beranda , klik dua kali Pemetaan Handler.
Di panel Tindakan , klik Tambahkan Pemetaan Modul.
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".
Klik Pembatasan Permintaan
Pilih Panggil handler hanya jika permintaan dipetakan.
Klik untuk memilih opsi File atau Folder .
Klik OK.
Klik OK.
Jika Anda diminta untuk membuat aplikasi FastCGI dalam kotak dialog Tambahkan Pemetaan Modul, klik Ya.
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 perlu mengikuti langkah-langkah di bagian Cara membuat pemetaan handler FastCGI untuk PHP] di artikel ini.
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.
Di panel Koneksi ion, klik nama server yang ingin Anda konfigurasi pengaturan FastCGI-nya.
Di panel Beranda, klik dua kali Pengaturan FastCGI.
Di panel Tindakan , klik Tambahkan Aplikasi
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, jumlah ini harus lebih sedikit atau sama dengan jumlah maksimum permintaan untuk lingkungan PHP, yang dikonfigurasi dengan menggunakan
PHP_FCGI_MAX_REQUESTS
variabel lingkungan.
Klik elipsis (...) di samping EnvironmentVariables untuk membuka editor pengumpulan variabel lingkungan.
Dalam kotak dialog Editor Koleksi EnvironmentVariables, klik Tambahkan.
Masukkan informasi berikut, lalu klik OK.
Masukkan "PHP_FCGI_MAX_REQUESTS" untuk Nama.
Masukkan "10000" untuk Nilai.
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 https://www.php.net/.
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.
Di panel Koneksi ion, klik nama server yang ingin Anda konfigurasi pengaturan FastCGI-nya.
Di panel Beranda, klik dua kali Pengaturan FastCGI.
Sorot aplikasi PHP di panel FastCGI Pengaturan, lalu klik Edit di panel Tindakan
Dalam kotak dialog Edit Aplikasi FastCGI, klik elipsis (...) di samping EnvironmentVariables untuk membuka editor koleksi variabel lingkungan.
Dalam kotak dialog Editor Koleksi EnvironmentVariables, klik Tambahkan.
Masukkan informasi berikut, lalu klik OK.
Masukkan "PHP_FCGI_MAX_REQUESTS" untuk Nama.
Masukkan "10000" untuk Nilai.
Klik OK untuk menutup kotak dialog Tambahkan Aplikasi FastCGI.
Konfigurasi
Anda dapat mengonfigurasi <fastCgi>
elemen di tingkat server dalam file ApplicationHost.config atau di tingkat situs, di tingkat aplikasi, atau di tingkat direktori dalam file Web.config.
Atribut
Tidak ada.
Elemen Anak
Elemen | Deskripsi |
---|---|
application |
Elemen opsional. Menambahkan definisi kumpulan proses FastCGI ke koleksi definisi kumpulan proses FastCGI. |
Sampel Konfigurasi
Sampel konfigurasi berikut menambahkan aplikasi FastCGI untuk PHP, mengatur atribut instanceMaxRequests ke "10000," dan mengatur PHP_FCGI_MAX_REQUESTS
variabel lingkungan 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 PHP_FCGI_MAX_REQUESTS
variabel lingkungan 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 PHP_FCGI_MAX_REQUESTS
variabel lingkungan 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()
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk