PHPをWindows Server の IIS(Internet Information Services)環境にインストールする - Windows Server Tips

PHPをインストールして、Windows ServerのIISでPHPが動作するよう設定します。

事前準備

PHPをインストールするにあたり、Windows Serverで以下の準備をします。

IISのインストール

サーバーマネージャーの[役割と機能の追加ウィザード]からインターネットインフォメーションサービス (IIS)をインストールします。

FastCGIのインストール

IISをデフォルトでインストールした場合はFastCGIモジュールがインストールされませんので、CGIモジュールをインストールします。手順については「Windows Server に FastCGI モジュールをインストールする」の記事を参照してください。

インストール手順

PHP7の場合

PHP7のzipファイルをダウンロードします。今回はバージョン 7.1.7 の non-Thread Safe 版をダウンロードしました。


zipファイルのプロパティを開き[ブロックの解除]チェックボックスにチェックをし、ブロックを解除します。


zipファイルを展開します。


展開したファイルを "C:\PHP" ディレクトリに配置します。"C:\PHP" ディレクトリ以外(例えば、"C:\Program Files\PHP")に配置しても問題ありませんが、"C:\PHP"に配置するケースが多いようです。

PHP5の場合

PHP5のzipファイルをダウンロードします。今回はバージョン 5.6.31 の non-Thread Safe 版をダウンロードしました。


zipファイルのプロパティを開き[ブロックの解除]チェックボックスにチェックをし、ブロックを解除します。


zipファイルを展開します。


展開したファイルを "C:\PHP" ディレクトリに配置します。"C:\PHP" ディレクトリ以外(例えば、"C:\Program Files\PHP")に配置しても問題ありませんが、"C:\PHP"に配置するケースが多いようです。



[インターネット インフォメーション サービス (IIS) マネージャー]を起動します。下図のウィンドウが表示されます。


起動後左側のツリービューでサーバーのノードを選択します。右側のエリアから[ハンドラーマッピング]を選択します。


[ハンドラ-マッピング]画面が表示されます。右側の[操作]エリアから[モジュールマップの追加]を選択します。~

[モジュール マップの追加]ダイアログが表示されます。


[モジュール]のコンボボックスを開き"FastCgiModule"を選択します。




[実行可能ファイル]テキストボックスの右側の[...]ボタンをクリックします。ファイル選択ダイアログが開かれますので、先ほど設置したPHPの"C:\PHP" ディレクトリ内の php-cgi.exe を選択します。


他の項目も埋めます。[要求パス]は今回はPHPのみのため "*.php" とします。ダイアログ下部の「要求の制限」ボタンをクリックします。


[要求の制限]ダイアログボックスが表示されます。こちらは基本のままの設定でOKです。



設定が完了すると、[IIS マネージャー]のハンドラマッピングの項目に、先に設定した項目が追加されていることが確認できます。

動作確認

以下のテストファイルを作成します。

コード (test.php)

<?php
phpinfo();
?>

作成したPHPファイルにアクセスします。正しく動作すると下図の画面が表示されます。

正しく動作しない場合

エラー500などが発生し正しく動作しない場合は「IISでPHPファイルを開くと 500エラーが表示されスクリプトが実行できない (Windows Server Tips)」を参照してください。

php.ini ファイルの編集

PHPを配置したディレクトリを確認すると
  • php.ini-development
  • php.ini-production
ファイルが配置されています。


今回は、"php.ini-production"ファイルを"php.ini"にリネームします。必要に応じてphp.iniファイル内を編集します。今回はデフォルトのまま利用します。




インストール手順 (以前の版)

PHP(Windows版)をダウンロードします。IISでPHPを動作させるため、non-Thread Safe版のPHPをインストールします。今回はPHP 5.5.13 non-Thread safe版を入手しました。


ダウンロードしたZIPファイルのプロパティを表示します。ZIPファイルがブロックされている場合は、[ブロック解除]ボタンをクリックし、ZIPファイルのブロックを解除します。

ダウンロードしたZIPファイルを展開します。


展開したフォルダをc:\Program Filesにコピーします。


[インターネット インフォメーション サービス (IIS) マネージャー]を起動します。起動後左側のツリービューでサーバーのノードを選択します。右側のエリアから[ハンドラーマッピング]を選択します。


[ハンドラ-マッピング]画面が表示されます。右側の[操作]エリアから[モジュールマップの追加]を選択します。~

[モジュール マップの追加]ダイアログが表示されます。


[モジュール]のコンボボックスを開き"FastCgiModule"を選択します。


[実行可能ファイル]欄の[...]ボタンをクリックし、実行ファイルを選択します。PHPを配置したディレクトリ内の"php-cgi.exe"を選択します。


[要求パス]は "*.php"とします。モジュールマップの名称[名前]欄は"PHP"としました。


ダイアログ下部の[要求の制限]ボタンをクリックします。下図の[要求の制限]ダイアログが表示されます。
[マップ]タブは下図の設定とします。(デフォルトのまま)


[動詞]タブは下図の設定とします。(デフォルトのまま)


[アクセス]タブは下図の設定とします。(デフォルトのまま)
[OK]ボタンをクリックしダイアログを閉じます。


元のダイアログに戻り[OK]ボタンをクリックします。下図のモジュールマップの変更確認ダイアログが表示されます。[はい]ボタンをクリックし、変更を確定します。


ハンドラ-マッピングの一覧に作成した"PHP"が追加されていることが確認できました。

動作確認

以下のテストファイルを作成します。

コード (test.php)

<?php
phpinfo();
?>

作成したPHPファイルにアクセスします。正しく動作すると下図の画面が表示されます。

登録日 :2014-06-11    最終更新日 :2018-01-17
iPentec all rights reserverd.