PHP5.2 系列版本與 IIS 的集成,有兩種方式:ISAPI 和 CGI。但是 PHP5.3.8 已經摒棄了 ISAPI 方式,PHP5.3.8 與 IIS 的集成提供 FASTCGI 和 CGI 方式。
Windows 系統是采用多線程的工作方式,由于CGI模式是建立在多進程的基礎之上的(例如Unix/Linux),而非多線程,所以在IIS下以CGI方式運行 PHP會非常慢。在IIS下CGI模式是PHP運行的最安全方式,但CGI模式對于每個HTTP請求都需要重新加載和卸載整個PHP環境,其消耗是巨大的。
為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進程重復利用而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執行。這樣既解決了CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優勢。
Windows Server 2008 的 IIS7.0/7.5 里就提供 FastCGI 方式,可以與 PHP 進行集成。而 Windows Server 2003 不提供 FastCGI 方式,所以 PHP5.3.8 要與 Windows Server 2003集成,可以采用 CGI 方式。

PHP 5.3.8 在 Windows 下的 msi (可直接運行的可執行文件)類型的安裝文件,提供與 Apache 或 IIS 集成,還可以選擇是 FastCGI 或者 CGI 方式。
注意:
IIS 以 CGI 方式與 PHP5.3.8 進行集成,需要打開“Web 服務擴展”里的“所有未知 CGI 擴展”允許開關。為了安全起見,可以添加一個新的Web服務擴展,要求的 exe 文件選 php-cgi.exe,并打開允許開關。
(而以 ISAPI 方式與 PHP 5.2 進行集成時,需要打開“Web 服務擴展”里的“所有未知 ISAPI 擴展”允許開關。)
