IIS 7.x FastCGI 運行 PHP的配置方法
我的配置環(huán)境是 Windows 7 x64 + IIS 7.5,但是本文的內(nèi)容在Windows 7.x 版本中應該是完全通用的,因為 FastCGI 正是從 IIS 7.0 開始成為內(nèi)置組件的。至于之前的版本,需要額外安裝 FastCGI 支持,配置上也略有不同。
Part I. 啟用 IIS 7.x 中的 FastCGI 支持
依次打開 控制面板 | 程序和組件 | 開啟或關閉Windows功能,英文版對應操作為 Control Panel | Programs and Features | Turn Windows Features On or Off. 然后按下圖所示啟用 FastCGI (勾選 CGI 將同時啟用 CGI 和 FastCGI 支持)。其它項你應該根據(jù)自己的需要選擇,我這里是為了突出顯示才去掉了其他項目的勾選。
如果是 IIS7.0,微軟已經(jīng)發(fā)布了一系列升級補丁來修正其中內(nèi)置的 FastCGI 模塊已知的部分問題,你可以根據(jù)自己的系統(tǒng)下載對應的補丁進行升級:
Part II. 安裝和配置PHP
微軟官方文章里建議使用非安全線程版本的PHP(non-thread safe build of php),但是由于該版本下的Zend Optimizer的啟用會比較復雜,而大部分商業(yè)PHP程序都是離不開Zend Optimizer的,所以建議仍然采用安全線程版本的PHP。請從 PHP官方網(wǎng)站 下載最新版本的 PHP Zip格式壓縮包,本文寫作時使用的是 PHP 5.2.9-2 版,下載地址:PHP 5.2.9-2 zip package 。
下載以后,將其解壓縮到任意目錄(本文中使用 D:\server\php,后面所有涉及到此路徑的地方均表示為 [PHP Install Dir]),然后將目錄中的 php.ini-recommend 改名為 php.ini 。用任意的文本編輯器打開這個文件,查找并確認以下設置:
- fastcgi.impersonate = 1
- cgi.fix_pathinfo=1
- cgi.force_redirect = 0
- open_basedir 指向包含 php 程序的網(wǎng)站路徑。 【可選項】
- extension_dir = "./ext" ;注意:以往版本中這里往往要使用絕對路徑,但是現(xiàn)在可以用這樣的方式進行通用配置。
- 刪除你需要激活的php擴展加載項前面的分號,例如:
extension=php_mssql.dll
extension=php_mysql.dll
注意:不是所有的項目都可以激活的,最好只激活你用到的,如果激活某一項之后運行不了,請重新注釋掉該項并重啟IIS。
設置完畢以后,可以啟動一個命令提示行窗口(cmd.exe),運行 [PHP Install Dir]/php –info 檢查一下 php 是否可以正確運行,如果正確,會輸出一系列的環(huán)境變量提示等。
Part III. 配置 IIS 處理 PHP 請求
打開 IIS 管理器,左邊選擇你的計算機,中間窗口點擊“Handler Mapping”(中文版的朋友對照一下圖標了,我不太確定在中文版操作系統(tǒng)中這個項目會翻譯成什么),然后在右邊點擊“Add Module Mapping…”(添加模塊映射)。
在彈出的 Add Module Mapping 對話框中,按照下圖填寫(Executable(optional)一項請?zhí)顚懩阕约旱陌惭b路徑,即 [PHP Install Dir]/php-cgi.exe ):
填寫好之后,點 OK,會彈出一個確認對話框,問你是不是真的要添加這個模塊映射。點 Yes 繼續(xù)。
到此就完成了 PHP 在 IIS 7.x 下的安裝,在你的網(wǎng)站目錄下創(chuàng)建一個文本文件,文件名后綴為.php,比如test.php,該文件的內(nèi)容只有一行:
<?php phpinfo(); ?>
然后用瀏覽器瀏覽這個文件(通常是http://localhost/test.php),正常情況下,就會看到PHP的默認信息頁面了。
根據(jù)不同的配置,看到的信息可能有所不同,我這里的抓圖已經(jīng)安裝了 Zend Optimizer v3.3.3,默認當然是沒有的,你可以自己下載并安裝,Zend Optimizer 的安裝和以前所有版本的一樣,就算沒有教程,跟著安裝向導一步一步選擇也能成功安裝。我這里就不贅述了。此外還有 MySQL、PhpMyAdmin 等的安裝,也都是一樣的。雖然相關,但都和 IIS 版本無關。就不講了。
以前配置過PHP4,或者在 IIS 6.0 以前版本中以 ISAPI 方式配置過的朋友應該能發(fā)現(xiàn),使用 FastCGI 方式在 IIS 7.x 中配置 PHP,已經(jīng)大大簡化,不用像 PHP 4那樣向系統(tǒng)文件夾拷貝文件,不用像 IIS 6.0 以前版本那樣修改環(huán)境變量,而且也不像 ISAPI 方式那樣要設置 extension_dir 的絕對路徑……
總而言之,PHP 在 Windows 下已經(jīng)不像以前一樣僅僅是不得以而為之的一個東西,它的安全性、穩(wěn)定性、運行效率已經(jīng)大大提高。除了 Linux + Apache + PHP + MySQL,我們現(xiàn)在也可以很方便地使用 Windows + IIS + PHP + MSSQL 了。
- php運行出現(xiàn)Call to undefined function curl_init()的解決方法
- PHP運行時強制顯示出錯信息的代碼
- 推薦一個比較不錯簡單的php運行平臺軟件PHPnow 搭建 PHP 環(huán)境[安裝圖文教程]
- 淺析Dos下運行php.exe,出現(xiàn)沒有找到php_mbstring.dll 錯誤的解決方法
- PHP運行出現(xiàn)Notice : Use of undefined constant 的完美解決方案分享
- 在命令行下運行PHP腳本[帶參數(shù)]的方法
- CentOS 5.5使用yum來安裝LAMP(php運行環(huán)境)
- win2008 php運行環(huán)境搭建圖文教程
- Windows server 2008搭建php運行環(huán)境圖文詳解(php5.3)
- php運行報錯Call to undefined function curl_init()的最新解決方法
相關文章
最新Windows?Server?2012?搭建DNS服務器的詳細步驟
這篇文章主要介紹了Windows?Server?2012?搭建DNS服務器,記錄Windows Server配置DNS服務的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04WINDOWS系統(tǒng) + Apache +PHP5 +Zend + MySQL + phpMyAdmin安裝配置方法
新手不建議自己配置,安裝xampp就行了。2009-12-12組策略中的審核策略提示 Windows無法讀取模板信息的解決方法
今天在幫客戶配置2003的時候,進入組策略提示W(wǎng)indows無法讀取模板信息,原來是因為安裝設置過程中刪除了guest賬號,下面腳本之家小編為大家分享下解決方法吧2014-06-06IIS7傳大于30M的視頻時出現(xiàn)找不到文件或目錄錯誤正確處理方法
IIS7傳大于30M的視頻時出現(xiàn)找不到文件或目錄錯誤的情況想必有很多的朋友都有遇到過吧,下面與大家分享下具體的解決方法2013-06-06Windows下降權MYSQL和apche的運行級別(普通用戶權限運行)
Windows下降權MYSQL和apche的運行級別(普通用戶權限運行),需要的朋友可以參考下。2011-06-06在虛擬機中安裝windows?server?2008的圖文教程
這篇文章主要介紹了在虛擬機中安裝windows?server?2008,包括windows?server?2008鏡像下載地址及搭建搭建虛擬機的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2022-06-06Windows Server 2019 DHCP服務器配置與管理——理論 Ⅰ
DHCP 是 Dynamic Host Configuration Protocol (動態(tài)主機配置協(xié)議)的縮寫2023-05-05