なにか作る

なにかを作るブログです。

Windows 7のIIS上でPHPを動かす

IIS上でPHPのアプリケーションを動作させる方法は、以下のようなサイトにかなり丁寧でまとまった情報が既にあるんだけれど、それでもそれなりにハマったので手順をここに残す。

IISのインストール

  1. [コントロールパネル] → [プログラム] → [Windows の機能の有効化または無効化] を開く。
  2. [インターネット インフォメーション サービス]にチェックを入れる。
  3. [インターネット インフォメーション サービス] > [World Wide Web サービス] > [アプリケーション開発機能] > [CGI] にチェックを入れる。
  4. [OK] をクリックする。
  5. ブラウザを立ち上げて http://localhost/ にアクセスし、IISの画面が表示されることを確認する。

PHPのインストール

  1. PHP For Windows: Binaries and sources ReleasesからVC11 Non Thread Safeの zipファイルをダウンロードし、好きな場所に展開する。

  2. 展開したフォルダ内のphp.ini-productionを同フォルダ内にphp.iniという名前でコピーする。
  3. php.iniを開き、以下の設定を追加・変更する。

  4. 展開したフォルダ内のphp-cgi.exeを実行し、エラーが出ないことを確認する。エラーが出る場合は、

    Download Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Centerからランタイムをダウンロードしてインストールする。

  5. Ctrl + C キーを押してphp-cgi.exeを終了する。

アクセス権限の設定

  1. PHPのフォルダのプロパティーを開く。
  2. [セキュリティ] タブの [編集] をクリックする。
  3. [追加] をクリックする。
  4. 場所の指定をコンピュータに設定し、オブジェクト名にiis_iusrsと入力して [名前の確認] をクリックする。
  5. 選択するオブジェクト名が認識されたら、[OK] をクリックする。
  6. アクセス許可は特に変更せず、[OK] をクリックする。

IISへのPHPランタイムの登録

  1. Win + R キーを押して「ファイル名を指定して実行」ダイアログを開く。
  2. 「inetmgr」と入力して [OK] をクリックし、IISマネージャーを起動する。
  3. 接続ペイン内のコンピューター名のノードをクリックする。
  4. 機能ビューが表示されていることを確認し、[ハンドラー マッピング] をダブルクリックする。
  5. 操作ペインから [モジュールマップの追加] をクリックする。
  6. 以下の内容を入力する。
    1. 要求パス → *.php
    2. モジュール → FastCgiModule
    3. 実行可能ファイル → {PHPをインストールしたフォルダ}\php-cgi.exe
    4. 名前 → PHP_via_FastCGI
  7. [要求の制限] ボタンをクリックする。
  8. マップタブの [要求のマップ先が次の場合のみハンドラーを呼び出す] にチェックを入れ、[ファイルまたはフォルダー] を選択して [OK] をクリックする。
  9. [OK] をクリックする。

サンプルの実行

  1. C:\inetpub\wwwroot\ 内に、以下の内容のinfo.phpファイルを作成する。

  2. http://localhost/info.php にアクセスし、インストールしたPHPの情報が表示されていることが確認できれば完了。