Skip to content

在 Windows 7 上為 IIS 7.5 手動安裝 PHP

沒記錯的話,在 IIS6.0 的時代,PHP 有推出安裝檔,如果 Web Server 是 IIS 的話,在安裝過程會自動佈署到 IIS。

到了比較中期,PHP 就沒有推出安裝檔,而只有手動安裝檔。當時的手動安裝的方式是以 ISAPI 的方式將 PHP 佈署到 IIS 裡。

到了更後期,因為建議採用 Fast-CGI 的方式執行,所以也沒辦法以 ISAPI 的方式進行佈署。IIS 7.0 之後(也就是 Vista 之後),如果要讓 IIS 支援 PHP 也都採用 Fast-CGI 的方式進行佈署。當時,要讓 IIS 以 Fast-CGI 的方式執行 PHP,感覺很麻煩,特別是在 IIS 6.0 上。

Windows 7 內建的 IIS 7.5,其實安裝 PHP 的方式就已經比 IIS 6.0 簡單多了。雖然簡單許多,但有時久沒用,還是會忘記,就簡單做個筆記好了。

1. 下載和設定 PHP

  1. 先到 PHP For Windows 下載 Windows 版本的 PHP
    http://windows.php.net/download/
  2. PHP For Windows 有很多版本,看了實在令人頭暈,講一下幾個要點:
    • 在 IIS 上執行,請選擇『Non Thread Safe』的版本
    • x86 / x64,簡單來講就是 32 位元和 64 位元版本
      PHP 5 x64 版本,雖是 64 位元,但仍屬實驗性質,尚不支援 64 位元整數以及大檔案
      PHP 7 x64 版本,支援原生 64 位元整數、大檔案……等
    • PHP 5 是採用 Visual Studio 2012 (即 VC 11) 編譯
      PHP 7 則是採 Visual Studio 2015 (即 VC 14) 編輯
      電腦需安裝相對應的 Visual C++ 可轉發套件(Visual C++ Redistributable for Visual Studio),在 PHP For Windows 網頁左邊可以找到相關連結
  3. 如果是免安裝版,找不到 php.ini 這個檔案,但會找到「php.ini-development」和「php.ini-production」,將 php.ini-production 複製一份出來,並重新命名為 php.ini
  4. php.ini 有幾個地方要設定一下
    • extension_dir = "ext"
    • cgi.force_redirect = 0
    • cgi.fix_pathinfo=1
    • fastcgi.impersonate = 1
    • date.timezone = Asia/Taipei
    • extension=php_mbstring.dll
    • extension=php_mysql.dll
    • extension=php_mysqli.dll

2. 設定 IIS

  1. 因為 IIS 是以 Fast-CGI 的方式執行 PHP,所以要先將 Fast-CGI 的功能開啟,這要在「開啟或關閉 Windows 功能」(可以在「執行」中輸入「OptionalFeatures」開啟這個視窗)中將「CGI」功能開啟。
  2. 安裝完成後,開啟 IIS,在功能裡找到「處理常式對應」
  3. 再點右邊的「新增模組對應……」
    • 要求路徑,通常會設定「*.php」,也可以說所有副檔名為 php 的檔案,都用這個模組執行
    • 因為是用 Fast-CGI 執行,所以模組要選「FastCgiModule」,如果看不到這個模組,通常代表 IIS 的 CGI 功能沒有開啟
    • 執行檔則是指要用哪一個 dll 或 exe 做為 Fast-CGI 的執行,這裡通常是設定 PHP 的「php-cgi.exe」這支程式
    • 名稱則是自行命名,沒有特別限制
  4. 最後看到這個畫面,選「是」就好了
  5. 最後測試一下 PHP 看看能不能正常運作
Published in學習筆記網路軟體

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *