IIS7 で PHP を使う方法 ~ FastCGI
この資料では IIS7 (Windows Vista) にて、PHP を動作させるための設定方法を解説しています。 Web サイトのルートは C:\inetpub\wwwroot、PHP は C:\php_nts インストールとすることを想定しています。
準備
重要 PHP の利用に関わる不具合が修正されています。この修正モジュールを適用してください。
Microsoft サポート技術情報 954946
FIX: A PHP application that depends on the REQUEST_URI server variable may fail when you run the PHP application in IIS 7.0
- コントロールパネルのPrograms and Features を開き Turn Windows features on or off で CGI がチェックされていることを確認する。
- PHP の非スレッドセーフ版をダウンロードします。
http://www.php.net/downloads.php からダウンロード可能です。 非スレッドセーフの最新版は本資料作成時点で PHP 5.2.6 Non-thread-safe zip package です。
- ダウンロードした zip ファイルを展開して C:\php_nts に保存します。
- C:\php_nts\php.ini-recommended を C:\php_nts\php.ini に名前を変更します。
- 以下のラインを編集します。
- cgi.fix_pathinfo=1 の行の先頭にある ; (セミコロン) を取る
- fastcgi.impersonate = 1; の行の先頭にある ; (セミコロン) を取る
- cgi.force_redirect の値を 0 に変更して、行の先頭にある ; (セミコロン) を取る
- open_basedir の値を C:\inetpub\wwwroot とする
- IIS マネージャでサーバーレベルの Handler Mappings を開きます。
- Add Module Mapping... をクリックします。
- PHP のモジュールマッピングを作成します。
- 次のメッセージには OK をクリックします。
動作確認
- 以下の内容を test.php として、C:\inetpub\wwwroot に保存する。
<?php phpinfo(); ?>
- ブラウザから test.php を要求する。以下の画面が表示されれば正常動作している。