// はじめに
IISはPHP環境として動作させる上でスレッドセーフで無いライブラリの利用にISAPI拡張が適していないなど多くの要望がIISの開発チームには寄せられていたといいます。IISチームはこの点を重大に捉え、PHPをご利用になっている方々向けの支援を強化するためにZend Technologies 社との協業をしたり、IISに手を入れたりと色々と動きだしました。
// PHP動作環境の構築
IIS.NETにその例が載っていますが、日本語で実際に手順を確認してみましょう。IIS7にはVistaと2008の環境が考えられますが、ここではVistaでの方法を書きます。XPや2008用はもう一つのフォーラムで取り上げることにします。
また、ここでは www.php.net で提供しているPHPバイナリを利用します。Zend社のCoreはインストーラもあり、さらに簡単にできますが、敢えてここではIIS開発チームがやっている通りの方法で書いてみます。
1. IIS7を用意するインストールはインストール方法のHOW TOをご覧ください。
http://localhost にアクセスしてきちんとIIS7が動作していることを確認します。
2. FastCGIを入手する2008は標準で入っているのでこの手順が要りませんが、Vistaはインストールが必要です。http://www.iis.net/downloads/default.aspx?tabid=34&i=1299&g=6※まだ最終製品版ではありませんので、注意。
3. FastCGIをインストールする管理者実行でコマンドプロンプトを開き、cd \fcgi\x86fcgisetup.exe /install /add c:\php\php-cgi.exe php,phpt
4. PHPバイナリを入手するhttp://www.php.net/downloads.php へアクセスいただき、FastCGIでの動作を想定してノン スレッドセーフなバイナリのZipを入手します。これを書いている現時点では 5.2.4 があります。
5. PHPバイナリを展開するここではC:\PHP に展開しましょう。
6. PHP.iniを作成、編集するphp-dist.ini を php.ini としてコピーする。extension_dir を c:\php\ext に変更する。
7. 動作確認用のPHPファイルを作るphpinfo 関数がいいでしょう。文法は無視してます、ご容赦。メモ帳でgogo.php という名前で下記だけ書いたテキストファイルを作ります。<?php phpinfo() ?>
8. 実際にアクセスしてみるhttp://localhost/gogo.php
Windows Server 2008での注意点は、
- Beta 3 以降 FastCGI はCGIの機能をインストールすると一緒にもう入ってます。
- fcgisetup ではなく、手で設定します。今度 それも書きます。単純にハンドラマッピングの機能でモジュールと拡張子phpを紐づけるだけです。*.php、モジュールにFastCGIを選ぶ -> CGIを選ぶと従来のCGI動作になりますので性能比較なんかしてみるといいでしょう。
実際のサイトを設定するにはindex.php を既定のドキュメントに追加するとか色々あると思いますが、その辺も含めてまた書きます。