IIS 7.x FastCGI 運(yùn)行 PHP的配置方法
我的配置環(huán)境是 Windows 7 x64 + IIS 7.5,但是本文的內(nèi)容在Windows 7.x 版本中應(yīng)該是完全通用的,因?yàn)?FastCGI 正是從 IIS 7.0 開始成為內(nèi)置組件的。至于之前的版本,需要額外安裝 FastCGI 支持,配置上也略有不同。
Part I. 啟用 IIS 7.x 中的 FastCGI 支持
依次打開 控制面板 | 程序和組件 | 開啟或關(guān)閉Windows功能,英文版對(duì)應(yīng)操作為 Control Panel | Programs and Features | Turn Windows Features On or Off. 然后按下圖所示啟用 FastCGI (勾選 CGI 將同時(shí)啟用 CGI 和 FastCGI 支持)。其它項(xiàng)你應(yīng)該根據(jù)自己的需要選擇,我這里是為了突出顯示才去掉了其他項(xiàng)目的勾選。
如果是 IIS7.0,微軟已經(jīng)發(fā)布了一系列升級(jí)補(bǔ)丁來(lái)修正其中內(nèi)置的 FastCGI 模塊已知的部分問題,你可以根據(jù)自己的系統(tǒng)下載對(duì)應(yīng)的補(bǔ)丁進(jìn)行升級(jí):
Part II. 安裝和配置PHP
微軟官方文章里建議使用非安全線程版本的PHP(non-thread safe build of php),但是由于該版本下的Zend Optimizer的啟用會(huì)比較復(fù)雜,而大部分商業(yè)PHP程序都是離不開Zend Optimizer的,所以建議仍然采用安全線程版本的PHP。請(qǐng)從 PHP官方網(wǎng)站 下載最新版本的 PHP Zip格式壓縮包,本文寫作時(shí)使用的是 PHP 5.2.9-2 版,下載地址:PHP 5.2.9-2 zip package 。
下載以后,將其解壓縮到任意目錄(本文中使用 D:\server\php,后面所有涉及到此路徑的地方均表示為 [PHP Install Dir]),然后將目錄中的 php.ini-recommend 改名為 php.ini 。用任意的文本編輯器打開這個(gè)文件,查找并確認(rèn)以下設(shè)置:
- fastcgi.impersonate = 1
- cgi.fix_pathinfo=1
- cgi.force_redirect = 0
- open_basedir 指向包含 php 程序的網(wǎng)站路徑。 【可選項(xiàng)】
- extension_dir = "./ext" ;注意:以往版本中這里往往要使用絕對(duì)路徑,但是現(xiàn)在可以用這樣的方式進(jìn)行通用配置。
- 刪除你需要激活的php擴(kuò)展加載項(xiàng)前面的分號(hào),例如:
extension=php_mssql.dll
extension=php_mysql.dll
注意:不是所有的項(xiàng)目都可以激活的,最好只激活你用到的,如果激活某一項(xiàng)之后運(yùn)行不了,請(qǐng)重新注釋掉該項(xiàng)并重啟IIS。
設(shè)置完畢以后,可以啟動(dòng)一個(gè)命令提示行窗口(cmd.exe),運(yùn)行 [PHP Install Dir]/php –info 檢查一下 php 是否可以正確運(yùn)行,如果正確,會(huì)輸出一系列的環(huán)境變量提示等。
Part III. 配置 IIS 處理 PHP 請(qǐng)求
打開 IIS 管理器,左邊選擇你的計(jì)算機(jī),中間窗口點(diǎn)擊“Handler Mapping”(中文版的朋友對(duì)照一下圖標(biāo)了,我不太確定在中文版操作系統(tǒng)中這個(gè)項(xiàng)目會(huì)翻譯成什么),然后在右邊點(diǎn)擊“Add Module Mapping…”(添加模塊映射)。
在彈出的 Add Module Mapping 對(duì)話框中,按照下圖填寫(Executable(optional)一項(xiàng)請(qǐng)?zhí)顚懩阕约旱陌惭b路徑,即 [PHP Install Dir]/php-cgi.exe ):
填寫好之后,點(diǎn) OK,會(huì)彈出一個(gè)確認(rèn)對(duì)話框,問你是不是真的要添加這個(gè)模塊映射。點(diǎn) Yes 繼續(xù)。
到此就完成了 PHP 在 IIS 7.x 下的安裝,在你的網(wǎng)站目錄下創(chuàng)建一個(gè)文本文件,文件名后綴為.php,比如test.php,該文件的內(nèi)容只有一行:
<?php phpinfo(); ?>
然后用瀏覽器瀏覽這個(gè)文件(通常是http://localhost/test.php),正常情況下,就會(huì)看到PHP的默認(rèn)信息頁(yè)面了。
根據(jù)不同的配置,看到的信息可能有所不同,我這里的抓圖已經(jīng)安裝了 Zend Optimizer v3.3.3,默認(rèn)當(dāng)然是沒有的,你可以自己下載并安裝,Zend Optimizer 的安裝和以前所有版本的一樣,就算沒有教程,跟著安裝向?qū)б徊揭徊竭x擇也能成功安裝。我這里就不贅述了。此外還有 MySQL、PhpMyAdmin 等的安裝,也都是一樣的。雖然相關(guān),但都和 IIS 版本無(wú)關(guān)。就不講了。
以前配置過PHP4,或者在 IIS 6.0 以前版本中以 ISAPI 方式配置過的朋友應(yīng)該能發(fā)現(xiàn),使用 FastCGI 方式在 IIS 7.x 中配置 PHP,已經(jīng)大大簡(jiǎn)化,不用像 PHP 4那樣向系統(tǒng)文件夾拷貝文件,不用像 IIS 6.0 以前版本那樣修改環(huán)境變量,而且也不像 ISAPI 方式那樣要設(shè)置 extension_dir 的絕對(duì)路徑……
總而言之,PHP 在 Windows 下已經(jīng)不像以前一樣僅僅是不得以而為之的一個(gè)東西,它的安全性、穩(wěn)定性、運(yùn)行效率已經(jīng)大大提高。除了 Linux + Apache + PHP + MySQL,我們現(xiàn)在也可以很方便地使用 Windows + IIS + PHP + MSSQL 了。
- php運(yùn)行出現(xiàn)Call to undefined function curl_init()的解決方法
- PHP運(yùn)行時(shí)強(qiáng)制顯示出錯(cuò)信息的代碼
- 推薦一個(gè)比較不錯(cuò)簡(jiǎn)單的php運(yùn)行平臺(tái)軟件PHPnow 搭建 PHP 環(huán)境[安裝圖文教程]
- 淺析Dos下運(yùn)行php.exe,出現(xiàn)沒有找到php_mbstring.dll 錯(cuò)誤的解決方法
- PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的完美解決方案分享
- 在命令行下運(yùn)行PHP腳本[帶參數(shù)]的方法
- CentOS 5.5使用yum來(lái)安裝LAMP(php運(yùn)行環(huán)境)
- win2008 php運(yùn)行環(huán)境搭建圖文教程
- Windows server 2008搭建php運(yùn)行環(huán)境圖文詳解(php5.3)
- php運(yùn)行報(bào)錯(cuò)Call to undefined function curl_init()的最新解決方法
相關(guān)文章
HDwiki 5.1下iis的rewrite規(guī)則分享
本功能對(duì)服務(wù)器環(huán)境有特殊要求,獨(dú)立主機(jī)用戶需要對(duì) Web 服務(wù)器增加相應(yīng)的 Rewrite 規(guī)則,因此需要服務(wù)器權(quán)限才可使用2012-10-10
Win2003 服務(wù)器安裝及設(shè)置教程 系統(tǒng)設(shè)置篇
Windows2003服務(wù)器安裝及設(shè)置教程 系統(tǒng)設(shè)置篇,提高性能與安全系數(shù)。2010-04-04
使用IISMonitor監(jiān)測(cè)網(wǎng)頁(yè)及自動(dòng)重啟?IIS
今天給大家分享一款監(jiān)測(cè)網(wǎng)頁(yè)及自動(dòng)重啟?IIS的軟件IISMonitor,可以幫助我們更好的維護(hù)服務(wù)器和網(wǎng)站監(jiān)控。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
WinServer2012搭建DNS服務(wù)器的方法步驟
本文主要介紹了WinServer2012搭建DNS服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Windows 防火墻入站和出站規(guī)則小結(jié)
本文主要介紹了Windows防火墻的入站和出站規(guī)則,包括什么是入站和出站、Windows默認(rèn)的防火墻設(shè)置等,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12
iis6偽靜態(tài)重寫路徑的配置步驟(.net項(xiàng)目)
在網(wǎng)站項(xiàng)目漲添加URLRewriter程序集的引用和FormRewriterControlAdapter程序集引用/配置webconfig文件等等,感興趣的你可以參考下本文2013-03-03
Windows Server 2008 架設(shè) Web 服務(wù)器教程(圖文詳解)
雖然 Windows Server 2008 內(nèi)置了I IS 7.0,但是默認(rèn)情況下并沒有安裝。由于 Windows Server 2008 中安裝 IIS 服務(wù)和以前操作相比有很大的不同,因此首先要首先需要參照下述步驟安裝 IIS 7.0 組件2015-07-07





