參照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
安裝后即能正常使用了.
?