作者:夏明亮
今天的文章思路是按照先發現問題,然後想辦法解決,最後驗證問題解決的情況常規思維路線來走的,比較符合現實中的情況,這樣大家看起來也會比較容易。
首先,發現問題
今天我想自己搭建一個小小的PHP網站,由於我身邊已經有了Windows Server 2008 R2的伺服器環境,並且我本人對Windows 的東西比較瞭解所以決定利用R2 的IIS Server來實現PHP網站的搭建,最開始在網上查些資料,看看需要安裝些什麼組件,這一步蠻重要的,大家最好多看些資料,否則即使最終大家實現了目的,那也只是被文章牽著鼻子走不知所以然。
第一步安裝IIS Server
這裡邊的關鍵步驟是安裝CGI組件()CGI全稱是“公用網關介面”(Common Gateway Interface),HTTP伺服器與你的或其它機器上的程式進行“交談”的一種工具,其程式須運行在網路伺服器上。 CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變數。如php,perl,tcl等。我們需要利用fastCGI使IIS支援PHP的運行。有關FastCGI是個什麼東東大家可在網上查到,我這裡連結一個百科的地址:http://baike.baidu.cn/view/641394.htm
安裝的步驟我就不多介紹了,貼一張關鍵的CGI的圖:
注意:CGI必須選。由於我的環境還需要支援其他測試的需要,所以我比較不負責任的全選了,大家最好盡量少選一些組件,這樣對自己的進步和伺服器的效能都有好處。
然後,編一個簡單的PHP網頁,代碼如下:
<?php phpinfo();?>
具體做法是建立一個TXT檔案,將代碼貼進去儲存為XXX.php,我這裡儲存為Start.php
然後 將該檔案放到網站的根目錄檔案夾下,我這裡用的是預設網站,所以根目錄在C:\intepub\wwwroot
設定網站的預設文件:
將start.php設定為預設文件,並上一到第一位。
來到如下圖所示位置,選擇瀏覽:
結果發現網頁不能瀏覽,提示不支援。
這個問題的原因是我們剛搭建好的IIS沒有經過配置預設是不會支援PHP的。
然後,解決問題。
首先安裝Microsoft Visual C++ 2008 Redistributable Package,這個微軟官網提供免費下載:
http://www.microsoft.com/zh-cn/download/details.aspx?id=29
安裝PHP
1.下載PHP
http://windows.php.net/download/
我們今天介紹的是最新的for Windows版本。
VC9 x86 non Thread Safe
一. 如何選擇PHP的版本
VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來搭建的,那就選擇VC6版本。
VC9版本是使用Visual Studio 2008編譯器編譯的,如果你的PHP是用IIS來架設的,那就選擇VC9
二. 如何選擇Thread Safe和Non Thread Safe版本
Thread Safe是安全執行緒,執行時會進行線程(Thread)安全監察,以防止有新要求就啟動新線程的CGI執行方式而耗盡系統資源。Non Thread Safe是非安全執行緒,在執行時不進行安全執行緒檢查。
PHP的兩種執行方式:ISAPI和FastCGI.
ISAPI執行方式是以DLL動態庫的形式使用,可以在被使用者請求後執行,在處理完一個使用者請求後不會馬上消失,所以需要進行安全執行緒檢查,這樣來提高程式的執行效率,所以如果是以ISAPI來執行PHP,建議選擇Thread Safe版本;
而FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,出去安全執行緒檢查的防護反而可以提高效率,所以,如果是以FastCGI來執行PHP,建議選擇Non Thread Safe版本;
2.解壓縮並把解壓出來的檔案放在自訂的安裝目錄下
3.修改php.ini檔案(由複製php.ini-production改名得到)
4.修改點見附件
1extension_dir = “<你的PHP安裝程式安裝路徑>”
2設定時區,避免意外錯誤發生。
3設定.dll檔案,取消其前邊的”;”。
注意:其中的extension=php_exif.dll必須放在extension=php_mbstring.dll的後面。
4fastcgi.impersonate = 1
Cgi.rfc2616_headers = 1
5cgi.force_redirect = 0
6short_open_tag = On
5. 配置iis的“處理應用程式對應”
添加模組映射
6.重啟IIS,瀏覽。
更多的伺服器相關軟體可以到s.jb51.net下載。