標籤:des style http ar io os 使用 sp for
參照http://www.myhack58.com/Article/sort099/sort0100/2012/35579.htm 這篇文章,即可!
前 面我寫了《windows安裝PHP5.4+Apache2.4+Mysql5.5》的安裝教程,本地實現是很簡單的,但是有人還是喜歡用IIS來配置 PHP環境,部分朋友找到我問我如何在IIS下配置php環境,為什麼按照網上的教程配置不成功呢。那麼我在這裡簡單的講一下IIS和PHP的配置過程, 資料庫的配置就略過了。
注意:
PHP5.3 版本開始是不能在IIS6上面通過ISAPI擴充啟動並執行,而且在PHP檔案裡面也沒有php5isapi.dll,取而代之的是 php5nsapi.dll,換句話說PHP5.3以後的版本就不再用ISAPI進行擴充在IIS裡運行了,那有沒有什麼辦法讓PHP5.3在IIS裡運 行的呢,當然有了,那就是FastCGI。
所以網上的很多用ISAPI擴充配置php的教程你可以不用看了,因為你根本不能配置的起來。
選擇php的版本:
FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去安全執行緒檢查的防護反而可以提高執行效率,所以,以FastCGI來執行PHP,建議選擇Non Thread Safe版本。
第一部分:準備工作。
因為沒有windows2003環境,所以我這裡用了windows xp sp3,2者的配置一模一樣的。
1.windows安裝IIS組件,這裡略過。
2.安裝FastCGI。
網頁版線上安裝(當然也有下載版本的,自己找找)
3.下載php5.4.8。
第二部分:安裝配置php。
1.解壓下載回來的php的zip壓縮包。比如放在D:/。
2.D:/php下複製php.ini-development檔案,並將檔案名稱改為php.ini。
3.修改php設定檔php.ini,儲存即可。
第730行 ; extension_dir = "ext" 先去前面的分號再改為 extension_dir = "D:\php\ext"
第919行 ;date.timezone = 先去前面的分號再改為 date.timezone = Asia/Shanghai
第743行 ;cgi.force_redirect = 1 先去前面的分號再改為 cgi.force_redirect = 0
第771行 ;fastcgi.impersonate = 1 去掉前面的分號
第783行 ;cgi.rfc2616_headers = 0 先去前面的分號再改為 cgi.rfc2616_headers = 1
其他的配置請按照自己的需求更改。(主要是去掉gd,mbstring,mysql三個擴充庫前面的分號)
第三部分:配置FastCGI。
1.修改設定檔fcgiext.ini,預設安裝在C:\WINDOWS\system32\inetsrv檔案夾下。
在這個檔案的最後加上下面的代碼,儲存。
php=PHP [PHP] ExePath=D:\PHP\php-cgi.exe
2.配置IIS支援FastCGI。
“網站” --- “屬性” --- “主目錄” --- “配置” ,添加一個新的ISAPI項。
可執行檔:C:\window\system32\inetsrv\fcgiext.dll
副檔名:.php
支援index.php預設頁
到此配置文成,重啟IIS。
4、檢測
編寫info.php:
<?php
phpinfo();
?>
瀏覽器輸入測試,出現問題:
錯誤資訊
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Number: 14001 (0x800736b1).
Error Description: 由於應用程式配置不正確,應用程式未能啟動。重新安裝應用程式可能會糾正這個問題。
HTTP Error 500 – Server Error.
Internet Information Services (IIS)
解決方案:
錯誤關鍵在於沒有安裝VC9運行庫 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86):
http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
安裝後即能正常使用了.
windows server 2003下安裝iis6+php