欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IIS下PHP運(yùn)行環(huán)境搭建與網(wǎng)頁服務(wù)器故障排查方法

 更新時間:2016年01月24日 21:53:06   投稿:mdxy-dxy  
這篇文章主要介紹了IIS下PHP運(yùn)行環(huán)境搭建與網(wǎng)頁服務(wù)器故障排查方法,需要的朋友可以參考下

一、對于php頁面完全無法訪問的情況

1、確認(rèn)是php的問題還是iis等服務(wù)器的問題

判斷方法,在目錄下放一個靜態(tài)文件,通過瀏覽器判斷這個靜態(tài)文件可否訪問。若可以訪問,即為php問題。

如果是IIS的問題,常見的有兩種情況,一個判斷的利器是telnet。

linux的telnet其實(shí)更加好用,因?yàn)槟J(rèn)是打開回顯的。而windows,則需要用 set localecho,否則看不到輸入的文字

1.1 防火墻禁止80端口

進(jìn)入telnet后,輸入指令,open 域名 80

如:open www.baidu.com 80

如果能連接上,會出現(xiàn)一個黑色屏幕,等待輸入

提示所謂的無法打開到主機(jī)的連接,在端口80失敗,則表示這個端口不可達(dá)。可能的原因有:DNS服務(wù)器沒有這個域名(用nslookup查),遠(yuǎn)程主機(jī)沒有開啟或禁止連接(用ping等命令查),以及這里說的,防火墻沒有打開80端口。

1.2 服務(wù)器上目標(biāo)目錄的權(quán)限設(shè)置不正確

這種情況下,一般會提示要求登錄的對話框,不至于顯示不出來頁面

1.3 其他問題

假設(shè)要訪問的主機(jī)是www.baidu.com ,那么,用如下命令查:

> telnet www.baidu.com 80

會出來一個黑屏幕,這個時候速度要快,因?yàn)榉?wù)器可能不會等你輸入,他期待的是一個迅速的輸入。(可以先在記事本里頭打好,然后粘貼進(jìn)去),直接telnet可能沒有l(wèi)ocalecho,可能需要盲打

指令例子,括號內(nèi)的字符不要輸入:

GET / HTTP/1.1 (回車)

Host: www.baidu.com (回車)

(回車)

注意,在host行后有兩個回車。

這個是用telnet模擬瀏覽器對目標(biāo)主機(jī)的請求。如圖:

注意,回復(fù)頭的內(nèi)容擁有非常豐富的信息,如200表示請求成功。500表示內(nèi)部服務(wù)器錯誤等,具體信息可以看看相關(guān)文檔。

1.4 一點(diǎn)點(diǎn)背景知識

以上的步驟涉及到瀏覽器發(fā)起請求的過程,介紹下或許會有幫助:

1、 你在瀏覽器的地址欄輸入域名,并按下回車。

2、瀏覽器請求DNS服務(wù)器將域名轉(zhuǎn)換為IP地址——注意,這一步還和你的網(wǎng)頁服務(wù)器(IIS或者APACHE)沒有任何關(guān)系。

3、瀏覽器向你的網(wǎng)頁服務(wù)器請求連接——相當(dāng)于我們telnet 80端口。當(dāng)然, 如果你指定了端口號,他就會連接你指定的端口。但是默認(rèn)端口是80,這個是rfc規(guī)定的http的端口,https端口是443,這個過程更加復(fù)雜,有密鑰交換和加解密的過程,因此沒辦法用這種方法做trouble shooting,建議在這個階段先搞定http的再說。

4、建立了一條連接,服務(wù)器等待瀏覽器發(fā)請求頭,瀏覽器發(fā)請求頭。請求頭以一個空行結(jié)束。

5、請求頭格式如下:

方法【空格】請求路徑(不包含域名,如/a.html或者/)【空格】協(xié)議

HOST:請求的域名

例如:

GET /index.php HTTP/1.1 (回車)

Host: www.baidu.com (回車)

(回車)

請求頭可能有其他信息,例如,提交的信息,不過對于我們而言,這個就夠了。

方法,常用的就是get和post,一般請求網(wǎng)頁用get,提交信息用post。

6、服務(wù)器處理并返回數(shù)據(jù),包括頭和網(wǎng)頁體。

HTTP/1.1 200 OK

這行開頭,包括了協(xié)議,以及錯誤代碼(或成功代碼),錯誤代碼解釋。

對于瀏覽器而言,可能會有不少信息有用,但對于我們而言,知道代碼和錯誤代碼解釋就很有必要了。

信息體里頭,可能會有很多別的東西,例如對這個信息的詳細(xì)解釋等。php的錯誤報告開啟的時候,也會在這里頭報告相關(guān)問題。

2、確認(rèn)php擴(kuò)展加載。

2.1isapi擴(kuò)展

對于isapi擴(kuò)展,在主目錄的配置下:

找到php:

若沒有,添加之。

2.2對于fastcgi方法

另一種加載方法是fastcgi,這種方法需要判斷是fastcgi引擎問題還是php問題,判斷方法是跳過fastcgi,直接用cgi方式加載php.exe。

二、php頁面部分能訪問的情況

簡單的判斷是不是這種情況的方法是,新建一個php文件,輸入如下內(nèi)容:

<?php phpinfo(); ?>

注意大小寫和空格必須正確。正常情況下回輸出一個phpinfo頁面,如下圖所示:

該頁面非常有用。

1、判斷php文件加載正確性

確認(rèn)Loaded Configuration File里頭加載的是不是你想要他加載的php.ini文件。有可能修改該文件錯誤。

2、判斷mysql等擴(kuò)展是否加載

很多時候可能會有這種情況,就是頁面白屏,但是明顯的,頁面加載了一半。例如,tittle部分已經(jīng)顯示出來了,包括supersite、discuz等站點(diǎn)很可能出現(xiàn)這種情況。

判斷方法很簡單,頁面上搜索mysql,要是沒有如下內(nèi)容就是沒有加載

2.1、判斷為什么沒有加載

主要的兩種可能性:extension_dir沒有配置對和沒有取消注釋

2.2、第一種可能性

extension_dir沒有配置對,注意要配置到ext目錄下,例如:

extension_dir="E:\PHP\EXT"

記得確認(rèn)該目錄是不是存在

2.3、第二種可能性

extension沒有取消注釋。看有沒有這一句以及這一句前頭有沒有#,若有,去掉。

[PHP_MYSQL]

extension=php_mysql.dll

2.4、其他

網(wǎng)上的說法要拷貝兩個和mysql有關(guān)的文件到windows下,不過實(shí)際配置過程中似乎與這個無關(guān),但以上都沒有解決的情況下,可以試試。

3、trouble shooting方法

開啟display_errors和display_startup_errors,在頁面上會有一些錯誤顯示出來,例如,mysql_connect未定義等。通過這些錯誤提示,能針對性的找到錯誤的來源。

相關(guān)文章

最新評論