IISにPHPをインストールする手順のメモです。Microsoft が PHP on IIS というページを作っているので、そちらの方も参考にしてください。
PHPのインストールには、FastCGI 版を使用します。なぜかといと、Windows版のPHPは、過去にはCGI版とISAPI版がありましたが、CGI版は、ユーザーから要求がある度に、プロセスの生成と破棄が行われるため、パフォーマンスが悪いという欠点がありました。一方ISAPI版は、DLL形式のプログラムで、起動時に1回読むだけで、使い回しができるため、パフォーマンスの面で優れていましたが、一部のライブラリでスレッドセーフを保証できないなど、安全性及び安定性に問題がありました。そのため、FastCGI版が、パフォーマンスも信頼性も高く動作させる方法として開発されたという経緯があります。
FastCGI 版のPHPのインストールには、以下の2通りの方法があります。
1 Web Platform Installer を利用する方法
2 PHPバイナリを入手してインストールする方法
以下は、インストールのメモ書きです。
Web Platform Installer (Web PI)を利用するとPHPをワンクリックでインストールすることができます。なお、IIS Express(WebMatrix)を使用する場合は、WebMatrix の方からもインストールできます。
1-1.Microsoft Web Platform Installer(Web PI) をインストールしていない場合は、 Microsoft Web Platform Installer のページからプログラムをダウンロードしインストールします。
1-2.Web PI を起動します。Webサーバーとして、IIS Express(WebMatrix)を使用するか、IIS を使用するかの設定を確認するため、下部にある「オプション」をクリックします。
1-3. 「どの Web サーバーを使用しますか?」で使いたい方のサーバーを選択し、「OK」ボタンをクリックします。選択した Web サーバーがインストールされていない場合は、PHP と一緒に Web サーバーもインストールされます。
1-4. 「製品」の「フレームワーク」を選択すると、以下のような画面になります。Web PI 3.0 では、PHP の 5.3 と 5.2 を選択してインストールできるようになっています。PHP Manager for IIS を使用すれば、各サイトのアプリケーション毎に使用する PHP のバージョンを 5.2 に設定したり 5.3 に設定したりすることもできます。PHP 5.3 では、ディレクトリ毎に設定の変更ができる user.ini がサポートされ、Windows のサポートが向上しているので、ソフト側が対応しているのであれば、5.3 をインストールするようにします。
Web サーバーに IIS を選択した場合、Windows Cache Extension 1.1 for PHP は、PHP バイトコードをメモリー内にキャッシュして PHP アプリケーションのパフォーマンス向上させる拡張機能なのでクリックして選択するようにします。また、PHP を選択すると PHP Manager for IIS も自動的に選択されます。PHP Manager for IISは、IIS マネージャーから PHP の設定を変更できる便利なツールです。
以上の「追加」ボタンの設定が終わったら「インストール」ボタンをクリックします。
1-5. インストールするアプリケーションの一覧が表示されます。Web サーバーをインストールしていない場合は同時にインストールされます。Web PI は、依存関係にあるソフトウェアを自動でインストールしてくれるのが便利です。ライセンス条項に「同意する」ボタンをクリックします。
1-6.インストールが開始されます。
1-7.インストールが完了したら、以下の画面が表示されます。
1-8. PHP Manager for IIS をインストールしてあれば、IIS マネージャーを起動すると、以下の図のように、IIS セクションに PHP Manager のアイコンが表示されるます。
1-9. PHP Manager を起動すると、以下の図のように PHP の各種の設定をきます。
PHPバイナリを入手してインストールする方法でも、実は簡単にインストールできます。簡単にインストールしたい場合は、Windows インストーラ形式のものを選択してください。なお、複数のバージョンの PHP をインストールする場合は、Windows インストーラ形式のものだと先にインストールしているバージョンを削除してしまうので、 zip 形式のものをダウンロードして、インストールフォルダに解凍すて使用するようにします。
FastCGI 版のPHP を利用する場合は、IIS の CGI の機能を有効にします。「コントロールパネル」、「プログラム」、「Windows の機能の有効化または無効化」で「Windows の機能」の設定画面を立ち上げます。次に、「インターネット インフォメーション サービス」、「World Wide Web サービス」、「アプリケーション開発機能」の順に機能を展開すると、下の図のように「CGI」が表示されるので、チェックボックスをオンにして、「OK」ボタンをクリックします。
Windows 版の PHP バイナリは、PHP For Windows のページで取得できます、
(1) PHP 5.4 の場合
PHP 5.4 は、2012年3月1日に公開された最新の安定版です。現時点(2012年3月17日)では、Zip ファイルのものしか公開されていません。したがって、マニュアルでインストールする必要があります。インストールについては、PHP のドキュメントの「手動でのインストール」及び「Microsoft IIS 7.0 以降」を参考にしてください。時間ができたらメモを作成します。
(2) PHP 5.3 の場合
左メニューの、Which version do I choose?の記載に従って、PHPのバイナリの内、VC9版のNon Thread Safe版を選択します。Windows インストーラ形式とzip形式が選択できますが、インストールの容易なインストーラ形式のものを選択します(ダウンロードファイル名 php-5.3.10-nts-Win32-VC9-x86.msi)。
VC9版なので、Microsoft 2008 C++ Runtime が必要になります。OS に合わせて Microsoft 2008 C++ Runtime (x86) または Microsoft 2008 C++ Runtime (x64) をダウンロードして、事前にインストールしてください。
(3) PHP 5.2の場合
VC6 x86 Non Thread Safe 版のInstaller 版をダウンロードします。
ダウンロードした PHP バイナリを起動します。設定ウィザードが起動されるので、「Next」ボタンをクリックします。(PHP の現在の最新版は 5.3.10 ですが、以下の図は、特に変更はないのでバージョンが 5.3.0 のままにしています。)
2-4.ライセンス条項が表示されます。ライセンス条項に同意するにチェックして、「Next」ボタンをクリックします。
2-5.インストールフォルダーの設定画面が表示されます。変更の必要があれば変更して、「Next」ボタンをクリックします。
2-6.ウェブサーバーの選択画面が表示されるので、IIS FastCGI を選択し、「Next」ボタンをクリックします。
2-7.拡張モジュールの選択画面が表示されます。5.3 ではデフォルトでよく利用される拡張モジュールがインストールされるようになっています。5.2 では、デフォルトでは拡張モジュールがインストールされないようになっているので、適宜必要な拡張モジュール(5.3でデフォルトでインストールされる拡張モジュールは、Curl, GD2, Gettext, Multi-Byte-String, MySQL, MySQLi, OpenSSL, SOAP, SQLite 3, XML-RPC です)を選択してインストールするようにします。PHP Manager for IIS を使用する場合には、多くの拡張モジュールをインストールするようにして必要のないモジュールを無効にしておくのも一つの方法です。
なお、後から追加、削除したい場合は、「コントロールパネル」、「プログラム」、「プログラムのアンインストール」の順で設定画面を立ち上げて、PHP を選択して、変更をクリックします。
2-8.インストールの準備が完了の画面が表示されるので、「Install」ボタンをクリックします。
2-9.インストールが開始されます。
2-10.以上でインストールは完了です。この時点で PHP は動作しています。
Windows Cache Extension for PHP は、PHP バイトコードをメモリー内にキャッシュして PHP アプリケーションのパフォーマンス向上させる拡張機能です。PHP Manager for IIS は、IIS マネージャーから PHP の設定を変更できる便利なツールです。各サイトのアプリケーション毎に使用する PHP のバージョンを 5.2 に設定したり 5.3 に設定したりすることもできます。どちらも非常に役立つツールなのでインストールするようにします。
Windows Cache Extension for PHP は、IIS.NET の Windows Cache Extension for PHP のページ からダウンロードできます。
また、PHP Manager for IIS は、CodePlex の PHP Manager for IIS のページからダウンロードできます。