Hiroshi Okunushi's Blog ☆ミ : 【IIS5】[HOW TO]Windows XP IIS5.1でFastCGI+PHP5環境を作ってみる

IIS5.1でPHP!!!ISAPI経由ではなくFastCGI経由での構築だそうです。

Windows XP環境でのPHPセットアップは従来インターネットを探すとISAPIを用いる方法が掲載されていましたが、今はFastCGIで環境をお作りいただけるようになりましたのでこちらをお勧めします。

Windowsではプロセスを実行単位としてさらにその中でスレッドが複数動く構造になっていますが、PHPの動作環境としてISAPIで動作させるとPHPのアプリケーションはインプロセスすなわち、それぞれスレッドという空間で動作する仕組みになります。この場合、PHP関連のライブラリで1つのプロセス内の複数スレッドで動作することを想定したつくりになっていないと問題が発生する原因になります。一方でCGIの形態で動作させることも可能で、この場合には今度Windows環境ではパフォーマンスに大きく影響のあるリクエスト毎のプロセス起動というコストの高いオーバーヘッドを抱えてしまい、実行スピードに影響が出ます。この状況から長い間、PHPを利用している方々からIISの開発チームにはちゃんと対応してという声が多く寄せられていました。今回 まだ製品版ではありませんが、提供されたFastCGI対応モジュールはこの二つの問題を解決するものです。FastCGIはプロセスを一旦起動するとそれを次回の利用のためにプールする仕組みで動作しますので、後者の起動オーバーヘッドがない、プロセス毎に動作しますのでスレッドセーフでない点もクリアになり、今までよりも安定して速い環境を提供できるようになります。