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

Windows 下 IIS + PHP 5.2 安裝配置完整指南:ISAPI 模式、環境變量、擴展啟用

     編輯:PHP 相關知識

安裝前準備

  • PHP 5.2 Windows 安裝包 (VC6 x86 Non Thread Safe for IIS):PHP 官方檔案庫
  • IIS 6.0 (Win2003) / IIS 7.x (Win2008+)

步驟 1:解壓 PHP 到無空格路徑

# 建議路徑
C:\PHP
# 避免:C:\Program Files\PHP (含空格會導致路徑解析問題)

步驟 2:配置 php.ini

  1. 複製 php.ini-recommended 為 php.ini (生產環境推薦)
  2. 修改關鍵指令:
    extension_dir = "C:\PHP\ext"
    doc_root = "C:\Inetpub\wwwroot"  ; IIS 網站根目錄
    cgi.force_redirect = 0           ; IIS 必須設為 0
    fastcgi.impersonate = 1          ; FastCGI 模式需開啟
    ; 啟用常用擴展 (移除前置分號)
    extension=php_mysql.dll
    extension=php_mysqli.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_curl.dll
    extension=php_xmlrpc.dll

步驟 3:系統環境變量

  1. 右鍵「我的電腦」→ 屬性 → 高級 → 環境變量
  2. 系統變量 Path 末尾追加:;C:\PHP;C:\PHP\ext
  3. 重啟電腦 使環境變量生效 (或重啟 IIS Admin Service + WWW 服務)

步驟 4:IIS 應用程式映射 (ISAPI 模式)

IIS 6.0 (Win2003):

  1. 打開「Internet Information Services (IIS) 管理器」
  2. 右鍵「預設網站」→ 屬性 → 「主目錄」標籤 → 「配置」按鈕
  3. 「應用程式映射」頁籤 → 「新增」:
    • 可執行檔:C:\PHP\php5isapi.dll
    • 副檔名:.php
    • 動詞:限制為 GET,HEAD,POST
    • 勾選「腳本引擎」、「檢查檔案存在」
  4. 確定 → 重啟網站

IIS 7.x+ (Win2008+):建議使用 FastCGI (性能更好、支援 PHP 5.3+)

  1. 安裝 IIS 角色服務:CGI
  2. 「處理常式對應」→ 「新增模組對應」:
    • 請求路徑:*.php
    • 模組:FastCgiModule
    • 可執行檔:C:\PHP\php-cgi.exe
    • 名稱:PHP_via_FastCGI
  3. 編輯 C:\PHP\php.ini:cgi.force_redirect = 0, fastcgi.impersonate = 1

步驟 5:測試驗證

現象原因解決
HTTP 500 / 空白頁php.ini 未載入、擴展缺失、錯誤顯示關閉檢查 Loaded Configuration File、啟用 display_errors、查看 Windows 事件檢視器
MySQL 連不上libmysql.dll 版本不匹配、未在 PATH 中複製 libmysql.dll 到 C:\Windows\System32 或 PHP 目錄、重啟
權限錯誤IUSR/IUSR_機器名 無讀取執行權限給 PHP 目錄、網站目錄、upload_tmp_dir 加入 IIS_IUSRS 讀取/執行權限
上傳失效upload_tmp_dir 未設或目錄不可寫設定 upload_tmp_dir = "C:\PHP\tmp" 並建立目錄授權


版本遷移建議

PHP 5.2 於 2011 年 1 月停止支援,**強烈建議新專案直接使用 PHP 8.1+** 配合 IIS FastCGI。若必須維護舊專案,可考慮 Docker 容器化隔離運行環境。

  1. 上一篇文章:
  2. 下一篇文章:
Apache 核心指令參考手冊:DirectoryMatch、DocumentRoot、ErrorDocument 詳細解析 PHP 正則過濾 JS 腳本:正確匹配多行 `