IISでPHPを利用する方法

IIS機能の有効化

ファイル名を指定して実行から
optionalfeatures
または、
プログラムと機能>有効化または無効化>インターネットインフォメーションサービス>
をチェックする。

FastCGIを有効(必要な場合)

インターネットインフォメーションサービス>World Wide Web サービス>アプリケーション開発機能>CGI
をチェックする。

php.iniにてCGI/FastCGIの設定を以下のように

fastcgi.impersonate = 1

fastcgi.logging = 0

cgi.fix_pathinfo=1

cgi.force_redirect = 0

IISマネージャにてハンドラマッピング作成

ファイル名を指定して実行から

inetmgr

ハンドラーマッピングをダブルクリックし、右側の操作メニューからモジュールマップの追加を選択

要求パス: *.php

モジュール: FastCgiModule

実行可能ファイル: phpのパス(php-cgi.exe)

名前: PHP_via_FastCGI

として、要求の制限をクリックし、ファイルまたはフォルダーを選択する。

ここまでの設定でphpファイルが実行された。

FastCGIの匿名化

IISでの利用ではphp.iniのfastcgi.impersonateを有効にしておくことが推奨

パーミッションはエクスプローラか icaclsコマンドを利用。

デフォルトドキュメントの変更

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/defaultDocument /+”files.[value=’index.php’]” /commit:apphost

にてできる模様。実際やってみると、権限かなにかで弾かれているっぽい。要調査。