IIS 7.x FastCGI 運行 PHP的配置方法
我的配置環(huán)境是 Windows 7 x64 + IIS 7.5,但是本文的內(nèi)容在Windows 7.x 版本中應(yīng)該是完全通用的,因為 FastCGI 正是從 IIS 7.0 開始成為內(nèi)置組件的。至于之前的版本,需要額外安裝 FastCGI 支持,配置上也略有不同。
Part I. 啟用 IIS 7.x 中的 FastCGI 支持
依次打開 控制面板 | 程序和組件 | 開啟或關(guān)閉Windows功能,英文版對應(yīng)操作為 Control Panel | Programs and Features | Turn Windows Features On or Off. 然后按下圖所示啟用 FastCGI (勾選 CGI 將同時啟用 CGI 和 FastCGI 支持)。其它項你應(yīng)該根據(jù)自己的需要選擇,我這里是為了突出顯示才去掉了其他項目的勾選。
如果是 IIS7.0,微軟已經(jīng)發(fā)布了一系列升級補丁來修正其中內(nèi)置的 FastCGI 模塊已知的部分問題,你可以根據(jù)自己的系統(tǒng)下載對應(yīng)的補丁進行升級:
Part II. 安裝和配置PHP
微軟官方文章里建議使用非安全線程版本的PHP(non-thread safe build of php),但是由于該版本下的Zend Optimizer的啟用會比較復(fù)雜,而大部分商業(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 。用任意的文本編輯器打開這個文件,查找并確認以下設(shè)置:
- 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。
設(shè)置完畢以后,可以啟動一個命令提示行窗口(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 的安裝和以前所有版本的一樣,就算沒有教程,跟著安裝向?qū)б徊揭徊竭x擇也能成功安裝。我這里就不贅述了。此外還有 MySQL、PhpMyAdmin 等的安裝,也都是一樣的。雖然相關(guān),但都和 IIS 版本無關(guān)。就不講了。
以前配置過PHP4,或者在 IIS 6.0 以前版本中以 ISAPI 方式配置過的朋友應(yīng)該能發(fā)現(xiàn),使用 FastCGI 方式在 IIS 7.x 中配置 PHP,已經(jīng)大大簡化,不用像 PHP 4那樣向系統(tǒng)文件夾拷貝文件,不用像 IIS 6.0 以前版本那樣修改環(huán)境變量,而且也不像 ISAPI 方式那樣要設(shè)置 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()的最新解決方法
相關(guān)文章
HDwiki 5.1下iis的rewrite規(guī)則分享
本功能對服務(wù)器環(huán)境有特殊要求,獨立主機用戶需要對 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)測網(wǎng)頁及自動重啟?IIS
今天給大家分享一款監(jiān)測網(wǎng)頁及自動重啟?IIS的軟件IISMonitor,可以幫助我們更好的維護服務(wù)器和網(wǎng)站監(jiān)控。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
WinServer2012搭建DNS服務(wù)器的方法步驟
本文主要介紹了WinServer2012搭建DNS服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Windows 防火墻入站和出站規(guī)則小結(jié)
本文主要介紹了Windows防火墻的入站和出站規(guī)則,包括什么是入站和出站、Windows默認的防火墻設(shè)置等,具有一定的參考價值,感興趣的可以了解一下2024-12-12
Windows Server 2008 架設(shè) Web 服務(wù)器教程(圖文詳解)
雖然 Windows Server 2008 內(nèi)置了I IS 7.0,但是默認情況下并沒有安裝。由于 Windows Server 2008 中安裝 IIS 服務(wù)和以前操作相比有很大的不同,因此首先要首先需要參照下述步驟安裝 IIS 7.0 組件2015-07-07





