目次

Windows IIS 7.5 で PHP を動かす

以下の内容は Windows 7 Ultimate Edition 64ビット Service Pack 1 で確認しました。

Internet Information Services (IIS) 7.5 のインストールと FastCGI の有効化

  1. 「スタートメニュー」の「プログラムとファイルの検索」に 'optionalfeatures.exe' を入力して実行する。
  2. Windows の機能の画面で「インターネット インフォメーション サービス」のチェックボックスをオンにする。
  3. FastCGI サポートを有効化するために、[World Wide Web サービス] - [アプリケーション開発機能] - [CGI] のチェックボックスをオンにして、[OK] ボタンをクリックする。
  4. 下記の画面が消えるまでしばらく待つ。
  5. http://localhost/ に接続して IIS の動作を確認する。

PHP のインストール

  1. PHP For Windows: Binaries and sources Releases より VC9 x86 Non Thread Safe の Zip をダウンロードする。
  2. ダウンロードした zip ファイルを c:\php-5.4.8-nts に解凍する。
  3. C:\php-5.4.8-nts\php.ini-development を C:\php-5.4.8-nts\php.ini にコピーして編集する。(以下のコメントアウトを解除)
    cgi.force_redirect = 1
    cgi.fix_pathinfo=1
    fastcgi.impersonate = 1
    fastcgi.logging = 0
  4. PHP のデフォルトタイムゾーンを設定する。
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    ;date.timezone =
    date.timezone = Asia/Tokyo
  5. 「スタートメニュー」の「プログラムとファイルの検索」に 'inetmgr' を入力して実行する。
  6. IIS マネージャーの[接続]ペインよりコンピュータを選び、「ハンドラー マッピング」をダブルクリックする。
  7. [操作]ペインの[モジュール マップの追加]をクリックする。
  8. 「モジュール マップの追加」で以下のように設定する。
    要求パス: *.php
    モジュール: FastCgiModule
    実行可能ファイル: C:\php-5.4.8-nts\php-cgi.exe
    名前: PHP_via_FastCGI

    「要求の制限」で以下のように設定する。

    要求のマップ先が次の場合のみハンドラーを呼び出す: オン
    ファイルまたはフォルダー: 選択

  9. 「要求の制限」を [OK] で閉じて、以下のメッセージに [はい] で答える。

PHP の動作確認

  1. デスクトップなどに index.php を作って、以下の内容を書き込む。
    <?php phpinfo(); ?>
  2. エクスプローラで c:\inetpub\wwwroot に index.php をドラッグ&ドロップする。
  3. IIS マネージャーの[接続]ペインにある[サイト]を展開して、[Default Web Site]を選択し[既定のドキュメント]をダブルクリックする。
  4. 「既定のドキュメント」で[操作]ペインの[追加…]をクリックして、名前に index.php を入力して[OK]ボタンをクリックする。
  5. 「インターネット エクスプローラ」で http://localhost/ にアクセスして PHP が動作していることを確認する。

参考文献

PHP: Microsoft IIS 7.0 以降 - Manual
PHP アプリケーションをホストするように FastCGI を構成する (IIS 7)
なぜ、 IIS は PHP アプリケーションの実行に不向きとされてきたのか? - monoe's blog - Site Home - MSDN Blogs
WindowsサーバーでOSSを使おう | Think IT
FastCGI を使用して IIS 7 で PHP アプリケーションをホストする