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 開(kāi)始成為內(nèi)置組件的。至于之前的版本,需要額外安裝 FastCGI 支持,配置上也略有不同。
Part I. 啟用 IIS 7.x 中的 FastCGI 支持
依次打開(kāi) 控制面板 | 程序和組件 | 開(kāi)啟或關(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 模塊已知的部分問(wèn)題,你可以根據(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程序都是離不開(kāi)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 。用任意的文本編輯器打開(kāi)這個(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)求
打開(kāi) 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ì)話框,問(wèn)你是不是真的要添加這個(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)然是沒(méi)有的,你可以自己下載并安裝,Zend Optimizer 的安裝和以前所有版本的一樣,就算沒(méi)有教程,跟著安裝向?qū)б徊揭徊竭x擇也能成功安裝。我這里就不贅述了。此外還有 MySQL、PhpMyAdmin 等的安裝,也都是一樣的。雖然相關(guān),但都和 IIS 版本無(wú)關(guān)。就不講了。
以前配置過(guò)PHP4,或者在 IIS 6.0 以前版本中以 ISAPI 方式配置過(guò)的朋友應(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)沒(méi)有找到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)文章
最新Windows?Server?2012?搭建DNS服務(wù)器的詳細(xì)步驟
這篇文章主要介紹了Windows?Server?2012?搭建DNS服務(wù)器,記錄Windows Server配置DNS服務(wù)的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04WINDOWS系統(tǒng) + Apache +PHP5 +Zend + MySQL + phpMyAdmin安裝配置方法
新手不建議自己配置,安裝xampp就行了。2009-12-12比較簡(jiǎn)單實(shí)用的WEB安全設(shè)置總結(jié)
當(dāng)今,隨著網(wǎng)絡(luò)的快速發(fā)展,也有越來(lái)越多的問(wèn)題浮出水面,而WEB安全也顯得尤為重要,下面我們給大家簡(jiǎn)單總結(jié)一下WEB安全設(shè)置2011-11-11組策略中的審核策略提示 Windows無(wú)法讀取模板信息的解決方法
今天在幫客戶配置2003的時(shí)候,進(jìn)入組策略提示W(wǎng)indows無(wú)法讀取模板信息,原來(lái)是因?yàn)榘惭b設(shè)置過(guò)程中刪除了guest賬號(hào),下面腳本之家小編為大家分享下解決方法吧2014-06-06IIS7傳大于30M的視頻時(shí)出現(xiàn)找不到文件或目錄錯(cuò)誤正確處理方法
IIS7傳大于30M的視頻時(shí)出現(xiàn)找不到文件或目錄錯(cuò)誤的情況想必有很多的朋友都有遇到過(guò)吧,下面與大家分享下具體的解決方法2013-06-06win2008下搭建屬于自己的web服務(wù)器(wamp)
這篇文章主要介紹了win2008下搭建屬于自己的web服務(wù)器(wamp) ,需要的朋友可以參考下2015-04-04Windows下降權(quán)MYSQL和apche的運(yùn)行級(jí)別(普通用戶權(quán)限運(yùn)行)
Windows下降權(quán)MYSQL和apche的運(yùn)行級(jí)別(普通用戶權(quán)限運(yùn)行),需要的朋友可以參考下。2011-06-06在虛擬機(jī)中安裝windows?server?2008的圖文教程
這篇文章主要介紹了在虛擬機(jī)中安裝windows?server?2008,包括windows?server?2008鏡像下載地址及搭建搭建虛擬機(jī)的詳細(xì)過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Windows Server 2019 DHCP服務(wù)器配置與管理——理論 Ⅰ
DHCP 是 Dynamic Host Configuration Protocol (動(dòng)態(tài)主機(jī)配置協(xié)議)的縮寫2023-05-05