IIS7配置PHP環境完整圖文教程
我們知道php配置有幾種:
1、CGI方(fāng)式加載(zǎi)PHP環境,通常就是IIS裏麵配置解釋器為php.exe,早期比較常見,目前使用(yòng)較少。
特點是:穩定,但效率太低。
2、ISAPI方式加載PHP環境,通(tōng)常就是(shì)IIS裏麵配置解釋器為php5isapi.dll,目前使用(yòng)最多,應用最廣。
特點是:多線程,效率較高,但不夠穩定。
3、FastCGI方式加載(zǎi)PHP環境,在IIS環境裏並不常見,但其它係統環境(jìng)應用還(hái)是有的,不過IIS7.0開始內置FastCGI了。
特(tè)點(diǎn)是:高效率,高穩定性,屬於將來發展趨勢。
我試過其(qí)他的特別麻煩,PHP 5.3發布的Windows版已經不支持(chí)ISAPI模式了(le),所以我打算按微軟推薦的FastCGI方式運行PHP。
我用的就第三種,也是最好最快(kuài)的(de),因為FastCGI大大加強了IIS處理PHP的能力,能(néng)迅速提高PHP站點的反應速度和生產(chǎn)力,
並具有更高的穩定性和安全性.
下載地址:http://windows.php.net/download/
裏麵有好多種,要那(nà)種呢?
PHP現在推(tuī)出5.3.2版本了,不過下載的時候有幾個不同版本(běn)選擇。那就(jiù)是VC6 X86和VC9 X86。 首先我來解答:
VC6是什麽?
VC6就是(shì)legacy Visual Studio 6 compiler,就是使用這個編譯器編譯的。
VC9是什麽?
VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯(jí)器(qì)編譯的。
那我們如何選擇下(xià)載哪個版本的PHP呢?
如果你是在(zài)windows下使用Apache+PHP的,請選擇VC6版本;
如果(guǒ)你是在(zài)windows下使用(yòng)IIS+PHP的(de),請選擇VC9版本;
那Non Thread Safe是什麽?
Non Thread Safe就是非線程安全;
Thread Safe 是什(shí)麽?
Non Thread Safe 是線程安全;
FastCGI執行方式是以單一線程來執行操作,所(suǒ)以(yǐ)不需(xū)要進行線程的安(ān)全檢查,除去線(xiàn)程安全檢(jiǎn)查的(de)防護反而可以提高執行效率,所以,如果是以 FastCGI(無論搭配 IIS 6 或 IIS 7)執行 PHP ,都建議下載、執行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包(bāo)裝方式:msi 、zip ,請下(xià)載 zip 套件)所以(yǐ)我們選擇NO-Thread Safe 版本的PHP來使用。
而(ér)線程安全檢(jiǎn)查正是為ISAPI方式的PHP準備的,因為(wéi)有許多php模塊都不是線程安全的,所以需要使用Thread Safe的PHP。
下載安裝,我安裝默認路徑了:
記得選中第三項:IIS FASTCGI
如果沒有安裝IIS FASTCGI的 下一步(bù)會提示沒有安裝(zhuāng)的,下載安裝就行(háng)了
FastCGI for IIS 6 7 http://www.iis.net/expand/fastcgi
安裝(zhuāng)好後,繼續下一步,我按照默認(rèn)了(le):
安裝完畢後,就是配置(zhì)了。
這種配置有兩種方法,我用cmd配置,一條命令就行了。
轉到剛才安裝CGI的目錄下:
>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的目錄(lù)
> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
ok!完畢!
測試(shì)下(xià):
新(xīn)建一個.php文件,裏麵
<?php
phpinfo();
?>
保存!
運行,出現(xiàn)下麵頁麵,說明配置成功了!
這樣的方法 IIS就(jiù)不用怎麽配置,他都會自動(dòng)配置好了!微軟提供的配置更加詳細 !
如(rú)果按上(shàng)麵的教程配置(zhì)好後,運行php測試頁麵,出現了500錯誤(wù)。
那(nà)就(jiù)設置php.ini中的date.timezone項。
我這裏設置成上海時區:date.timezone = Asia/Shanghai
設置完後就一切正常了!
在這裏會出現幾個問題(tí)的,需要注意(yì)一下(xià):(我自己配置的時候(hòu)遇(yù)到的問題)
1.對於空機子的(de)服務器,一般沒有(yǒu)安裝別的什麽數據庫軟件的,所以大家運行一下C:\Program Files\PHP\php-cgi.exe,是否會出現(xiàn)問(wèn)題,然後解決問題。(用cmd試運(yùn)行)
運行C:\Program Files\PHP\php-cgi.exe,如果能進入命令窗口並且隻有光標,說明FastCGI能正常調用php-cgi,否則會提示錯誤,如圖
2.運行測試頁麵就顯示(shì)500錯誤(我自己遇到了問題,然後在網上(shàng)找到了解決方法。)
解決方法(fǎ):
打開IE----INTERNET選項--------高級------------顯示友好的HTTP錯誤前麵的勾(gōu)去掉,再出現錯誤的時候會提(tí)示你錯誤的具體提示。
提示:
PHP Warning: Unknown: open(c:\php\upload_tmp\sess_li3ardp5qtalfj4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 PHP Warning:
Unknown: open(c:\php\upload_tmp\sess_li3ardbp5qtalfj4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 PHP Warning: Unknown: Failed
to write session data (files). Please verify that the current setting of session.save_path is correct (c:\php\upload_tmp) in Unknown on line 0
這說明我沒有給(gěi)c:\php\upload_tmp寫入權限,給了.寫入權限,解決!
關鍵詞:IIS7,PHP
閱(yuè)讀本文後您有什麽感(gǎn)想? 已有(yǒu) 人給出評價!
- 1
- 1
- 1
- 1
- 1
- 1