Windows Server 2003服務器上IIS6.0擁有轉發PHP的能力/IIS6.0與PHP共用80端口

第一步: 分析下系統環境
 Windows server 2003 32bit;
IIS6.0; ms sql server 2005 mysql

第二步:所用到的工具:
fcgisetup_1.5_rtw_x86.msi
php-5.3.6-nts-Win32-VC9-x86.msi
相應下載地址:
相關說明:
PHP如今推出5.3.2版本了,不過下載的時候有幾個不一樣版本選擇。那就是VC6 X86和VC9 X86。
首先我來解答:
VC6是什麼?
VC6就是legacy Visual Studio 6 compiler,就是使用這個編譯器編譯的。
VC9是什麼?
VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。
那咱們如何選擇下載哪一個版本的PHP呢?
若是你是在windows下使用Apache+PHP的,請選擇VC6版本;
若是你是在 windows下使用IIS+PHP的,請選擇VC9版本;
那Non Thread Safe是什麼?
Non Thread Safe就是非線程安全;
Thread Safe 是什麼?
Non Thread Safe 是線程安全;

FastCGI執行方式是以單一線程來執行操做,因此不須要進行線程的安全檢查,除去線程安全檢查的防禦反而能夠提升執行效率,因此,若是是以FastCGI(不管搭配IIS 6 或IIS 7)執行PHP ,都建議下載、執行non-thread safe 的PHP (PHP 的二�位�有��包�方式:msi 、zip ,�下�zip 套件)因此咱們 選擇NO-Thread Safe 版本的PHP來使用
而線程安全檢查正是爲ISAPI方式的PHP準備的,由於有許多php模塊都不是線程安全的,因此須要使用Thread Safe的PHP。
 
第三步:安裝方法

 
  1. 首先安裝:FastCGI安裝完畢以後(若是電腦己安裝這個就進行第二步)
  2. 安裝後在C:\WINDOWS\system32\inetsrv 目錄下產生了五個文件。以下圖:
  3. fcgiext.dll�fastcgi處理程序
  4. fcgiext.ini�配置文件
  5. fcgiconfig.js�FastCGI的控制腳本
  6.  
  7. 同時在IIS的「Web服務擴展」裏多了FastCGI Handler。
  8.  
相關知識:
咱們知道php配置有幾種:
一、CGI方式加載PHP環境,一般就是IIS裏面配置解釋器爲php.exe,早期比較常見,目前使用較少。
特色是:穩定,但效率過低。
二、ISAPI方式加載PHP環境,一般就是IIS裏面配置解釋器爲php5isapi.dll,目前使用最多,應用最廣。
特色是:多線程,效率較高,但不夠穩定。
三、FastCGI方式加載PHP環境,在IIS環境裏並不常見,但其它系統環境應用仍是有的,不過IIS7.0開始內置FastCGI了。
特色是: 高效率,高穩定性,屬於未來發展趨勢。
我試過其餘的特別麻煩,PHP 5.3發佈的Windows版已經不支持ISAPI模式了,因此我打算按微軟推薦的FastCGI方式運行PHP。
我用的就第三種,也是最好最快的,由於 FastCGI大大增強了IIS處理PHP的能力,能迅速提升PHP站點的反應速度和生產力,
並具備更高的穩定性和安全性.
 
 
  1. 安裝PHP5.3 我選擇擇了默認路徑C:\Program Files\PHP\
 
  1. 註冊 PHP  FastCGI
  2.  
  3. 兩種方法: 1. 全命令行:
  4. 開始-運行-cmd-cd
  5. 轉到剛纔安裝FastCGI的目錄下:  
  6.  
  7. >cd C:\WINDOWS\system32\inetsrv
  8.  
  9. >cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"
  10.  
  11. 注意:path:"xxxx\php-cgi.exe」是你安裝php的目錄
  12.  
  13. > cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
  14. > cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
  15. 效果圖:
  16. 這種方法我在第二步:輸入:cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"  結果返回不成功。但我沒有管也把剩下的命令也執行了。
  17. 若是這種方法不出錯那就說明己能夠了,但我又找到一種手動配製的方法,而且成功
  18.     
  19.     2. 手動註冊
打開C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.
; The FastCGI handler will look for this file in the same directory as
我我的的理解是,只要「Web 服務擴展」裏的FastCGI Handler 爲容許時,在加載fcgiext.dll 時,會讀取fcgiext.ini 配置文件的內容,根據裏面的配置爲每一個網站提供映射。
在[Types] 下添加如下配置:
[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-5.2.14-Win32\php-cgi.exe
「php」表示擴展名,「PHP」是配置節名稱,以「[PHP]」定義。
C.開始配製網站
在IIS裏面來配製網站的具體方法我就很少說了,很傻瓜式的。但要改點東西:
右鍵網站=> 屬性=> 主目錄=> 配置=> 添加,以下圖配置:
可執行文件路徑:C:\WINDOWS\system32\inetsrv\fcgiext.dll
  1. 差很少到這兒,整個過程己結束。但我仍是�嗦下關於PHP與Mysql結合的問題。這可也能是不少起初想讓IIS擁有解析PHP能力的構想者所擔憂的問題。到時候怎麼配數據庫啊。…… 
我一開始也是這樣想的, 但我問了幾個學長,他們都有說。webserver 與數據庫是兩個概念,不用去擔憂數據庫,你平時什麼語言的網站怎麼配數據庫,在這裏面仍是同樣。因此Mysql的數據庫配置字符串修改位置:./inc/sqlconnect.php 
在說明點。Mysql數據庫是文件型的數據庫,他的文件附加就是拷貝後綴名爲:.frm .MYD.MYI  這樣的文件到Mysql安裝目錄裏的data文件下。建個文件夾就OK 
做者阿豆工做室劉元軍,博主只負責在這裏與你們知識共享~
相關文章
相關標籤/搜索