Internet Information Services (IIS) は、 Windows に標準で組み込まれています。 Windows サーバーの場合は、 サーバーマネージャーを使って IIS ロールを追加します。 CGI ロールを含める必要があります。 Windows デスクトップの場合は、 コントロールパネルの「プログラムの追加と削除」を使って IIS を追加します。 Microsoft のドキュメントに » 詳細な手順があります。 デスクトップウェブアプリケーションやウェブ開発の場合は、IIS/Express や PHP Desktop も使えます。
注意: IIS と一緒に FastCGI ハンドラを使えば、 Non-Thread Safe (NTS) 版の PHP のビルドがインストールされるはずです。
IIS マネージャー内で、FastCGI モジュールをインストールし、
.php
のハンドラマッピングを
php-cgi.exe に対して追加します。
(php.exe ではありません)
IIS の設定をスクリプト化するには、 APPCMD コマンドラインツールが使えます。
例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']"