Internet 信息服务 (IIS) 内置于 Windows 中。在 Windows Server 上,可以通过服务器管理器添加 IIS 角色。需要包含 CGI 角色功能。在 Windows 桌面上,必须通过控制面板的添加/删除程序添加 IIS。Microsoft 文档有» 关于启用 IIS 的详细说明。对于开发,也可以使用 » IIS/Express。
注意: 在 IIS 中使用 FastCGI 处理程序时,应安装 PHP 的非线程安全 (NTS) 版本。
在 IIS 管理器中,安装 FastCGI 模块并将 .php
的处理程序映射到
php-cgi.exe(而不是 php.exe)的路径
APPCMD 命令行工具可用于编写 IIS 配置脚本。
示例 #1 命令行配置 IIS 和 PHP
@echo off REM download .ZIP file of PHP build from http://windows.php.net/downloads/ REM path to directory into which PHP .ZIP file was decompressed (no trailing \) set phppath=c:\php REM Clear current PHP handlers %windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI REM The following command will generate an error message if PHP is not installed. This can be ignored. %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI'] REM Set up the PHP handler %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='%phppath%\php-cgi.exe'] %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phppath%\php-cgi.exe',resourceType='Unspecified'] %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script REM Configure FastCGI Variables %windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='%phppath%\php-cgi.exe'].instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']" %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phppath%\php.ini']"