第一步:
分析下系統環境
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。
第三步:安裝方法:
-
首先安裝:FastCGI安裝完畢以後(若是電腦己安裝這個就進行第二步)
-
安裝後在C:\WINDOWS\system32\inetsrv 目錄下產生了五個文件。以下圖:
-
-
fcgiext.dll�fastcgi處理程序
-
fcgiext.ini�配置文件
-
fcgiconfig.js�FastCGI的控制腳本
-
-
同時在IIS的「Web服務擴展」裏多了FastCGI Handler。
-
相關知識:
咱們知道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站點的反應速度和生產力,
並具備更高的穩定性和安全性.
-
安裝PHP5.3 我選擇擇了默認路徑C:\Program Files\PHP\
-
註冊
PHP
到
FastCGI
-
-
兩種方法:
1.
全命令行:
-
開始-運行-cmd-cd
-
轉到剛纔安裝FastCGI的目錄下:
-
-
>cd C:\WINDOWS\system32\inetsrv
-
-
>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"
-
-
注意:path:"xxxx\php-cgi.exe」是你安裝php的目錄
-
-
> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
-
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
-
效果圖:
-
-
這種方法我在第二步:輸入:cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe" 結果返回不成功。但我沒有管也把剩下的命令也執行了。
-
若是這種方法不出錯那就說明己能夠了,但我又找到一種手動配製的方法,而且成功
-
-
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
-
差很少到這兒,整個過程己結束。但我仍是�嗦下關於PHP與Mysql結合的問題。這可也能是不少起初想讓IIS擁有解析PHP能力的構想者所擔憂的問題。到時候怎麼配數據庫啊。……
我一開始也是這樣想的, 但我問了幾個學長,他們都有說。webserver 與數據庫是兩個概念,不用去擔憂數據庫,你平時什麼語言的網站怎麼配數據庫,在這裏面仍是同樣。因此Mysql的數據庫配置字符串修改位置:./inc/sqlconnect.php
在說明點。Mysql數據庫是文件型的數據庫,他的文件附加就是拷貝後綴名爲:.frm .MYD.MYI 這樣的文件到Mysql安裝目錄裏的data文件下。建個文件夾就OK
做者阿豆工做室劉元軍,博主只負責在這裏與你們知識共享~