首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

FastCGI 在 IIS 7.5 + PHP 5.6 環境部署全記錄:避開 ISAPI 坑,十步搭建穩定高性能 PHP 運行環境

     編輯:更多程式設計知識

從 Apache+PHP 轉向 IIS+FastCGI,文檔卻滿坑。本文記錄作者親歷的「九曲十八彎」:ISAPI 方案在 PHP 5.3+ 已廢棄、官方 Web Platform Installer 下載鏈接失效、FastCGI 組件缺失等問題,最終提煉出**十步可復現**的標準部署流程,助你一次成功。

為什麼選 FastCGI?

  • 常駐進程模型:啟動後持續運行,無需每請求 fork,性能遠超 CGI
  • 分佈式能力:PHP 進程可部署在獨立服務器,通過網絡接收請求
  • 穩定/安全/可擴展:進程隔離、請求隊列、自動重啟機制
  • PHP 5.3+ **強制要求** FastCGI,ISAPI 方案已從源碼移除

踩坑回顧(避免重蹈覆轍)

  1. ISAPI 方案失效:PHP 5.3+ 無 php5isapi.dll,僅有 php5nsapi.dll(Netscape 專用),IIS 6/7 均無法用 ISAPI 加載
  2. 官方 FastCGI 下載頁 404:https://www.iis.net/downloads/microsoft/fastcgi-for-iis 導向的 FastCGIIS6.exe 已下架
  3. Web Platform Installer (Web PI) 報錯:提示「產品不存在」,多次重試無效
  4. 手動複製文件法不可靠:網上教程要求 C:\WINDOWS\system32\inetsrv 下出現五個特定文件,實測不存在

十步標準部署流程(經驗證可用)

步驟 1:打開 Web Platform Installer

訪問微軟官方入口:https://www.iis.net/downloads/microsoft/fastcgi-for-iis

Web PI 官網

步驟 2:選擇 IIS 7 版本

選擇 IIS 版本

步驟 3:嘗試直接下載 FastCGIIS6.exe(將失敗)

下載舊版

步驟 4:確認「產品不存在」提示

產品不存在

步驟 5:關鍵轉折 — 搜索框輸入「FastCGI」

搜索 FastCGI

Web PI 會自動檢索**當前可用**的 FastCGI 組件並列出。

步驟 6:自動下載安裝,完成後打開 IIS 管理器

路徑:右鍵「計算機」→「管理」→「服務和應用程序」→「Internet Information Services (IIS) 管理器」

IIS 管理器

步驟 7:點擊「FastCGI 設置」圖標

FastCGI 設置

步驟 8:查看已註冊的 FastCGI 應用程序

此處應顯示 PHP 可執行文件路徑(如 C:\php\php-cgi.exe)、參數、實例數等配置。

FastCGI 應用列表

步驟 9:創建 phpinfo.php 驗證

<?php
phpinfo();
?>

放置於網站根目錄(如 C:\inetpub\wwwroot\)。

phpinfo 文件

步驟 10:瀏覽器訪問驗證

輸入 https://localhost/phpinfo.php 或 https://127.0.0.1/phpinfo.php,顯示經典 PHP 信息頁面即成功。

phpinfo 頁面

核心配置要點(安裝後必檢)

PHP 5.6 專用 php.ini 關鍵設置

cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
date.timezone = "Asia/Shanghai"
extension_dir = "ext"
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_gd2.dll
extension=php_curl.dll
extension=php_openssl.dll

總結

IIS + PHP 部署的核心邏輯是:**Web PI 安裝 FastCGI 模塊 → IIS 註冊 PHP-CGI 應用 → 處理程序映射綁定 *.php → php.ini 調優**。

關鍵經驗:不要信舊教程的具體下載鏈接,直接在 Web PI 內搜索「FastCGI」安裝當前可用版本。微軟已將 FastCGI 納入 IIS 核心組件,Web PI 會自動匹配你的 IIS 版本下載正確包。

完成上述十步,你將擁有一套生產級的 IIS 7.5 + PHP 5.6 FastCGI 環境,支援高併發、自動進程管理、優雅重啟,性能媲美 Nginx+PHP-FPM。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
配置項推薦值說明
Instance MaxRequests10000單進程處理請求數上限,防內存洩漏自動回收
Activity Timeout70秒,請求處理超時
Request Timeout90秒,隊列等待超時
Max InstancesCPU 核心數 × 2並發進程數上限
Environment VariablesPHP_FCGI_MAX_REQUESTS=10000傳遞給 PHP-CGI 進程