1.2 服務器上目標目錄的權限設置不正確

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

1.3 其他問題

假設要訪問的主機是www.baidu.com ,那么,用如下命令查:

> telnet www.baidu.com 80

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

指令例子,括號內的字符不要輸入:

GET / HTTP/1.1 (回車)

Host: www.baidu.com (回車)

(回車)

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

這個是用telnet模擬瀏覽器對目標主機的請求。如圖:

計算機生成了可選文字: Telnetw認八剮.baidU.C0m TTP/1。12日日OK ate:Thu,2日SepZ日12日4:58:26GNT eruer:BUS/1。日 ontent一Length:93551一 ontent一T夕pe:text/htnl;cha護set=gbk ache一Cont護01:priuate xpi護es:Thu,2日SepZ日12日4:58:26GHT et一Cookie:BnIDUID=日8自PE6F33E,自E04DD65F4?3B6日B日152B:FG=1;expires=Thu,2日一Sep一4 04:58:26CHT;path=/;donain=。baidu。con 3P:CP=

(st,ie>htoi{ove,fio,一,:auto 》bod夕(font:12pxa獷ial;text一align:cente護;backg護ound:林fff》bod夕,p,forn,ul,11(nargin :0;padding:O;list一st夕le:none}bod夕,for。,林f。{position:relative)td(text一align:left》 ing(border:日}a(color:林日日c}a:actiue(colo護:林f6日}林u{color:林,9,;padding:4pxl日pxspx 日;text一align:護ight}林uano 一獷epeat一3日4px日;borde護:lpxsolid林b6b6b6;l,orde護一color:林,a,a,a林cdcdcd林cdcdcd林 ,aga,a;uertical一align:top}。s_iPt<"idth:4日SPx;height:22px;font:16px/22pxarial;na rgin:spx日日?px;background:林fff;outline:none;一襯ebklt一appea護ance:none}。s一btn{襯id 舊口口口口口口口" width="498" height="334" border="1">

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

1.4 一點點背景知識

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

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

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

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

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

5、請求頭格式如下:

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

HOST:請求的域名

例如:

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

Host: www.baidu.com (回車)

(回車)

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

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

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

HTTP/1.1 200 OK

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

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

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

2、確認php擴展加載。

2.1isapi擴展

對于isapi擴展,在主目錄的配置下:

計算機生成了可選文字: 旅管系實踐教學中心屬性 目口‘ 目錄安全性}二TF頭 網站1性能}工s、工篩選器 此資源的內容來自: ‘琳計算機上的草蒸曹{ 廣另一臺計算機上的共享迄〕 廣重定向到姍工電) 主目錄 自定義錯誤 }文檔 本地路徑迄): 萬腳本資源訪問遼) 反讀取逗) 廠寫入邏) 廠目錄瀏覽迄) 應用程序設置 應用程序名電): 開始位置: 執(zhí)行權限健〕: 應用程序池電): 廠記錄訪問逐) 廠索引資源遼〕 勸友管系實踐教學中心> }純腳本 }nef記t燦pr。。i 廠麗歪一刁取消}應用因}幫助!

找到php:

計算機生成了可選文字: 映射}選項!調試 口緩存工s好工擴展屯) 應用程序擴展送)- 擴展名!可執(zhí)行文件路徑 動作。 鮮攀舉… 通配符應用程序映射隊行順序)邏): …一盟 上移電〕}下移。,} 叮麗奢刁取消}幫助}

若沒有,添加之。

2.2對于fastcgi方法

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

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

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

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

計算機生成了可選文字: PHPVersion5.2.17 System BUildDat6 Configure COmmand S6FVerAPI VirtualDirectory Support ConfigurationFIIe (php.ini)Path LOad6d COnfigurationFile SC日nthisdirfor additional.inifiles additiona!.inifil6s parsed PHPAPI PHPEXtension Z.ndEXtension DebugBuild ThreadSafety ZendMemory WindowsNTCCSUPHP5.2build3790 jan6201117:26:08 cscript/nologoconfigure.js’一enable一snapshot一build

該頁面非常有用。

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

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

2、判斷mysql等擴展是否加載

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

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

計算機生成了可選文字: mysql My狡LSupport enab!6d ActiVePersist6ntLinkS 0 ArtiVeLinkS 0 C!i6ntAPIVeFSIOn 5.0.51日 Dir6rtiVe LOCalVa!U6 MasterValU6 mysql.allO代persistent On On mysql.connerteetimeout 60 60 mysql.default--host 170叼lu尸 n口Value mysql.defaUlt_paSSwQrd 170叼lU已 刀O曰lU已 mysql.defaUlt_port 刀O叼lU已 刀口叼lue mysql.default--socket 刀O叼lU己 刀O留lU己 mysql.defaUlt_USer 刀O叼lU已 刀O叼lu已 mysql.max--links Unlimited Unlimited mysql.max--Persistent Unlimited Unlimited mysql.trace_mode O什 O什

2.1、判斷為什么沒有加載

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

2.2、第一種可能性

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

extension_dir="E:PHPEXT"

記得確認該目錄是不是存在

2.3、第二種可能性

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

 [PHP_MYSQL]

extension=php_mysql.dll

2.4、其他

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

3、trouble shooting方法

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

分享到

zhaohang

相關推薦