WordPress上でアプリを開発するために、開発用マシン(Windows10)に先回はMySQLをセットアップしました。今回は、Windowsで利用されるWebサーバー(IIS)で利用するPHPのセットアップを行います。
IISのセットアップ
Windows10にIISがセットアップされていない場合には、「Windows機能の機能の有効化または無効化」から「インターネット インフォメーション サービス」を追加して有効にしておきます。
- [コントロール パネル|プログラム|Windowsの機能の有効化または無効化]画面を表示します。
- 表示された[Windowsの機能]画面で、[インターネット インフォメーション サービス]項目のチェックを有効(チェックを付ける)にして、[World Wide Webサービス|アプリケーション開発機能|CGI]に追加でチェックを付けます。
- [OK]ボタンをクリックして、機能の追加を行います。
ブラウザを起動して、アドレス部分に”localhost”と入力してIISのようこそ画面が表示されれば、設定は完了です。
PHPのセットアップ
「PHP For Windows」から、PHP本体をダウンロードしておきます。(x86とx64がそれぞれあるので、利用するWindowsのアーキテクチャを調べてください)
今回はWindows10(x64)で利用するので「VC15 x64 Non Thread Safe」のZip版をダウンロードしました。
以下の手順で、PHP本体をコンピュータに配置します。(インストーラーなどは無いので、ファイルをコピーする要領でセットアップを行います。
- ダウンロードしたファイルを展開します。
- エクスプローラーを起動して、PHPをセットアップするフォルダーを作成します。(例 D:\PHP など)
- 作成したフォルダーに展開したファイルとフォルダーをコピーします。
PHPの設定ファイル編集
ダウンロードしたPHPをコピーしたら、フォルダ内にある「php.ini-production」の拡張子を「php.ini」に変更します。変更後、ファイルをメモ帳などで開き、以下の部分を編集します。
cgi.force_redirect = 0
fastcgi.impersonate = 1
fastcgi.logging = 0
コメント(先頭にセミコロン”;”)の場合には、削除して設定を有効にします。設定項目の内容は、こんな感じです。
(引用元:コア php.ini ディレクティブに関する説明)
cgi.force_redirect は、ほとんどのWebサーバーのもとで CGI として PHP を実行する際のセキュリティを確保するために必要です。 未定義のままの場合、PHPはデフォルトでこれを on にします。 これを off にする時は、自己責任 の下に 行なってください。
注意:
Windowsユーザー: IIS を使う場合は、このオプションは 必ず off にしなければなりません。 OmniHTTPD や Xitami の場合も同様です。
IIS (または WINNT ベースの OS) のもとでの FastCGI は、 クライアントをコールする際にセキュリティトークンを 匿名化する機能をサポートしています。 これにより、IIS がリクエストを処理するセキュリティコンテキストを 定義できるようになります。Apacheのもとで実行される mod_fastcgi は現在 (2002/03/17) この機能をサポートしていません。 IIS のもとで実行するには、1 に設定してください。 デフォルトは 0 です。
FastCGI 使用中の SAPI ロギングを有効にします。 デフォルトはロギングが有効となっています。
IIS(Webサーバー)の設定
PHPの設定が終了したら、IISの管理ツールを使ってWebサーバーの設定を行います。
- アプリケーションプールの追加
既定値でも構わないですが、PHPが動作するための実行部分を追加しておきます。
- [インターネット インフォメーション サービス(IIS)マネージャー]を起動して、[接続]に表示されている[アプリケーション プール]部分でマウスの右ボタンをクリックして表示されたポップアップメニューから[アプリケーション プールの追加]メニューを選択します。
- 表示された[アプリケーション プールの追加]画面で、名前を入力して[OK]ボタンをクリックします。
- 新しいアプリケーションプールが追加されます。
- アプリケーションの追加
- エクスプローラーなどで、PHPを利用するためのコンテンツを保存するフォルダーを作成します。(例 D:\WebApplication\Php など)
- [インターネット インフォメーション サービス(IIS)マネージャー]を起動して、[接続]に表示されている、[Default Web Site]部分でマウスの右ボタンをクリックして表示されたポップアップメニューから[アプリケーションの追加]メニューを選択します。
- 表示された[アプリケーションの追加]画面で、[エイリアス]を入力して、前の手順で作成した[アプリケーション プール]、[物理パス]をそれぞれ設定します。
- [OK]ボタンをクリックして、新しいアプリケーションを追加します。
[接続]部分に表示されている[Default Web Site]に[Php]が追加されていれば、操作は完了です。
- モジュールマップの追加
拡張子が.phpのファイルを処理するために、モジュールマップの設定を行います。
- [インターネット インフォメーション サービス(IIS)マネージャー]を起動して、[接続]に表示されている、[Default Web Site|Php]部分を選択します。
- [/Php ホーム]画面に表示されている[ハンドラー マッピング]を選択して[操作]にある[機能を開く]リンクをクリックします。
- 表示された[ハンドラー マッピング]画面の[操作]にある[モジュール マップの追加]リンクをクリックします。
- [モジュール マップの追加]画面の[要求パス]、[モジュール]、[実行可能ファイル]を、それぞれ設定します。
- [OK]ボタンをクリックします。
- 確認画面が表示された場合には[はい]ボタンをクリックします。
ここまでの操作で、IISとPHPの設定は完了です。
PHPの動作テスト
お楽しみのPHP動作のテストを行います。
用意したアプリケーションフォルダ(例 D:\WebApplication\Php)に、動作テスト用のファイル[test.php]を作成します。
<html>
<body>
<?php echo 'Hello World'; ?>
</body>
</html>
ブラウザを起動して、アドレス部分に”localhost/php/test.php”と入力して移動します。
“Hello World”が表示されれば、IISへのPHPのセットアップは完了です。
まとめ
PHPと聞くと、WebサーバーとしてApacheを想像しますが、Windows上で手軽にセットアップできるIIS(インターネット インフォメーション サービス)でも動作させることができます。
アプリケーションを配置するフォルダや、[アプリケーション プール]を分けておけば、ASP.NETなどの他のWebアプリプラットフォームとも共存ができるので、新しくApacheを導入するより手軽にPHPの開発環境を整えることができます。
スポンサーリンク
最後までご覧いただき、ありがとうございます。
IISでのPHPの導入を解説されているサイトはとても少数ですのでとても参考になりました。
Apacheはかなり多いのですし、本来はApacheでも構成できるスキルを身に付けないといけないのですが、まだコマンドラインで手続きするものが多いような気がしますのでなかなか手が出ません。
IISで構成する人にはかなり手助けになると思います。
ありがとうございました。
コメントありがとうございます!お役に立てて嬉しい限りです。