日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

用定制的PHP應用程序來獲取Web服務器的狀態信息

瀏覽:126日期:2024-01-27 09:54:19

大多數網站托管(Web hosting)公司都支持客戶對Web站點統計數據的訪問,但是你往往會覺得服務器所產生的狀態信息不夠全面。例如,配置不正確的Web服務器不能識別某些文件類型,這些類型的文件就不會出現在狀態信息之中。幸好,你可以用PHP來定制狀態信息收集程序,這樣你就可以獲取你所需要的信息了。

公共日志文件格式(Common Logfile Format,CLF)的結構

CLF最初是NCSA為HTTPd(全球網服務器軟件)而設計的。CERN HTTPd是一個由萬維網聯盟(World Wide Web Consortium,W3C)維護的公共域Web服務器。W3C網站列出了該日志文件規范。基于微軟和UNIX的Web服務器都可以生成CLF格式的日志文件。CLF格式如下:Host IdentAuthuserTime_Stamp 'request' Status_codeFile_size

例如:21.53.48.83 - - [22/Apr/2002:22:19:12 -0500] 'GET /cnet.gif HTTP/1.0' 200 8237

下面是日志條目的細目分類:

Host是網站訪問者的IP地址或者DNS名;在上面的例子中,它是21.53.48.83。 Ident是該訪客的遠端身份(RFC 931)。破折號表明“未指定”。 Authuser是用戶ID(如果Web服務器已經驗證了驗證網站訪問者的身份的話)。 Time_Stam是服務器以“日/月/年”這種格式返回的時間。 Request是網站訪問者的HTTP請求,例如GET或者POST。 Status_Code是服務器所返回的狀態代碼,例如:200代表“正確——瀏覽器請求成功”。 File_Size是用戶所請求文件的大小。在本例中,它為 8237字節。

服務器狀態代碼

你可以在HTTP標準中找到W3C所開發的服務器狀態代碼規范。這些由服務器所產生的狀態代碼表示了瀏覽器和服務器之間的數據傳輸成功與否。這些代碼一般傳遞給瀏覽器(例如非常有名的404錯誤“頁面沒有找到“)或者添加到服務器日志中去。

收集數據

創建我們的自定義應用程序的第一步就是獲取用戶數據。每當用戶選擇網站的某個資源時,我們就希望創建一個對應的日志條目。幸好,服務器變量的存在使得我們能夠查詢用戶瀏覽器并獲取數據。

報頭中的服務器變量攜帶了從瀏覽器傳遞到服務器的信息。REMOTE_ADDR就是一個服務器變量的例子。這個變量返回了用戶的IP地址:例子輸出:27.234.125.222

下面的PHP代碼將顯示出當前用戶的IP地址:<?php echo $_SERVER['REMOTE_ADDR']; ?>

讓我們看看我們的PHP應用程序的代碼。首先,我們需要定義我們想跟蹤的網站資源并指定文件大小://獲取我們想記錄的文件名稱$fileName='cnet-banner.gif';$fileSize='92292';

你無需把這些值保存到靜態變量中去。如果你要跟蹤許多條目,那么你可以把它們保存到數組或者數據庫中去。在這種情況下,你可能會希望通過一個外部鏈接來找到每個條目,如下所示:<a href='http://www.b3g6.com/bcjs/weblogger.php?bannerid=123'><imgsrc='cnet-banner.gif' border='0'></a>

其中“123”表示“cnet-banner.gif”所對應的記錄。然后,我們通過服務器變量來查詢用戶瀏覽器。這樣我們就得到在我們的日志文件中添加新條目所需的數據://得到網站瀏覽者的CLF信息$host=$_SERVER['REMOTE_ADDR'];$ident=$_SERVER['REMOTE_IDENT'];$auth=$_SERVER['REMOTE_USER'];$timeStamp=date('d/M/Y:H:i:s O');$reqType=$_SERVER['REQUEST_METHOD'];$servProtocol=$_SERVER['SERVER_PROTOCOL'];$statusCode='200';

然后,我們檢查服務器是否返回了空值(null)。根據CLF規范,空值應該用破折號來代替。這樣,下一個代碼塊的任務就是尋找空值并用破折號來取代它://給空值添加破折號(根據規范)if ($host==''){ $host='-'; }if ($ident==''){ $ident='-'; }if ($auth==''){ $auth='-'; }if ($reqType==''){ $reqType='-'; }if ($servProtocol==''){ $servProtocol='-'; }

一旦我們獲取了必要的信息,這些值將被組織成一種符合CLF規范的格式://創建CLF格式的字符串$clfString=$host.' '.$ident.' '.$auth.' ['.$timeStamp.'] ''.$reqType.' /'.$fileName.' '.$servProtocol.'' '.$statusCode.' '.$fileSize.'rn';

創建自定義日志文件現在,格式化之后的數據可以存放到我們的自定義日志文件中去。首先,我們將創建一種文件命名協定,并編寫每日產生一個新日志文件的方法(函數)。在本文所舉的例子中,每個文件都以“weblog-”開頭,然后是按月/日/年表示的日期,文件擴展名為.log。.log擴展名一般表示服務器日志文件。(實際上,絕大多數日志分析器都搜索.log文件。)// 用當前日期來命名日志文件$logPath='./log/';$logFile=$logPath.'weblog-'.date('mdy').'.log';

現在,我們需要判斷當前日志文件是否存在。如果存在,我們就向它添加條目;否則,應用程序就創建新的日志文件。(新日志文件的創建一般發生在日期更改時,因為這時文件名發生變化了。)//檢查日志文件是否已經存在if (file_exists($logFile)){//如果存在,則打開已存在的日志文件$fileWrite = fopen($logFile,'a');}else {//否則,創建新的日志文件$fileWrite = fopen($logFile,'w'); }

如果你在寫或者追加文件時,收到“權限不足(Permission Denied)”錯誤信息,請更改目標日志文件夾的權限來允許寫操作。絕大多數Web服務器的默認權限為“可讀可執行”。你可以用CHMOD命令或者使用FTP客戶端來改變文件夾的權限。

然后,我們創建文件鎖定機制,這樣當兩個或者更多用戶同時訪問日志文件時,只有其中的一個用戶可以對該文件進行寫操作://創建文件寫操作的鎖定機制flock($fileWrite, LOCK_SH);

最后,我們寫入條目的內容://寫CLF條目fwrite($fileWrite,$clfString);//解除文件鎖定狀態flock($fileWrite, LOCK_UN);//關閉日志文件fclose($fileWrite);

處理日志數據

在該系統產品化之后,客戶希望得到對所收集到的訪問者數據的詳細統計分析。由于所有的定制日志文件都是按照一個標準的格式組織的,因此任何一個日志分析器都可以處理它們。日志分析器是一個工具,它分析大的日志文件并產生餅圖、直方圖以及其它統計圖形。日志分析器也用來收集數據,并綜合出提供哪些用戶訪問你的網站、點擊數等方面的信息。

下面列出了幾個比較流行的日志分析器:

WebTrends是一個非常不錯的日志分析器,它適用于大規模網站以及企業級的網絡。 Analog是一個頗受歡迎的免費日志分析器。 Webalizer是一個免費的分析程序。它可以產生HTML報告,這樣大多數網絡瀏覽器都可以查看它的報告。

遵守標準

我們可以輕松的擴展該應用程序來讓它支持其它類型的日志記錄。這樣你就可以捕獲到更多的數據,如瀏覽器類型以及referrer(referrer指得是鏈接到當前網頁的前一個網頁)。這里的經驗就是:在你編程的時候遵循標準或者慣例終究會簡化工作。

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
成人亚洲一区| 成人日韩在线| 国产探花在线精品| 日本蜜桃在线观看视频| 亚洲青青久久| 亚洲精品伊人| 亚洲www啪成人一区二区| 色狠狠一区二区三区| 蘑菇福利视频一区播放| 亚洲无线一线二线三线区别av| 久久久久久色| 久久国产66| 日韩精品久久久久久| 日韩a一区二区| 久久久久久久欧美精品| 蜜桃视频在线观看一区二区| 日韩欧美2区| 日韩精品一区二区三区免费视频| 国产高潮在线| 亚洲深夜福利| 91精品视频一区二区| 91免费精品| 亚洲一级特黄| 日韩高清不卡在线| 高清日韩欧美| 免播放器亚洲一区| 青青草精品视频| 日本欧美在线| 天堂av在线| 国产免费成人| 国产精品一区二区三区美女| 91精品蜜臀一区二区三区在线| 亚洲1区在线| 国产精品免费不| 激情六月综合| 日韩va亚洲va欧美va久久| 成人精品高清在线视频| 视频一区二区中文字幕| 久久一区欧美| 国产亚洲一卡2卡3卡4卡新区| 久久中文在线| 日韩va亚洲va欧美va久久| 另类综合日韩欧美亚洲| 91成人超碰| 红桃视频欧美| 偷拍欧美精品| 久久99青青| 亚洲aa在线| 国产国产精品| 精品免费av| 国产亚洲精品精品国产亚洲综合| 亚洲不卡av不卡一区二区| 国产精品久久久久久久久免费高清| 欧美日中文字幕| 国产一区二区三区四区二区| 日韩精品一区二区三区中文| 午夜欧美理论片| 久久精品成人| 中文字幕在线官网| 美女视频黄 久久| 国产精品天天看天天狠| 日韩av中文字幕一区| 水蜜桃久久夜色精品一区的特点 | 精品伊人久久久| 国产日韩在线观看视频| 欧美一区=区三区| 日本在线视频一区二区| 红桃视频亚洲| 99久久激情| 99视频精品视频高清免费| 日韩在线看片| 影视先锋久久| 久久www成人_看片免费不卡| 欧美日韩国产在线观看网站| 欧美午夜精品一区二区三区电影| 亚洲一级网站| 欧美日韩中文一区二区| 久久在线电影| 蜜臀91精品一区二区三区| 日韩在线麻豆| 国产精品毛片久久久| 国产精品www994| 久久精品国内一区二区三区| 电影91久久久| 久久一级电影| 日韩激情一区二区| 国产精品色在线网站| 国产精品久久观看| 亚洲高清久久| 日韩一区二区三区精品视频第3页| 日韩精品免费视频人成| 亚洲综合精品四区| 热久久免费视频| 蜜桃久久久久久| 麻豆网站免费在线观看| 国产高清精品二区| 99久精品视频在线观看视频| 中文字幕av一区二区三区人| 中文字幕av一区二区三区人| 国产精品久一| 丝袜脚交一区二区| 日韩欧美一区免费| 蜜桃av一区二区| 精品亚洲免a| 亚洲高清影视| 国产成人a视频高清在线观看| 青青久久av| 国产日韩欧美一区在线| 1024精品一区二区三区| 日韩av网站在线免费观看| 欧美日韩中文一区二区| 国产亚洲一区二区三区啪| 在线看片不卡| 国产精品国产三级国产在线观看| 国产农村妇女精品一二区| 免费日韩成人| 日韩综合一区二区三区| 午夜欧美精品| 亚洲天堂av影院| 99精品美女| 麻豆精品99| 日韩专区在线视频| 久久久噜噜噜| 98精品视频| 免费在线日韩av| 国产精品黄色片| 国产三级一区| 91成人在线网站| 亚洲一级淫片| 免费看的黄色欧美网站| 91精品二区| 日韩午夜电影| 亚洲视频www| 午夜一区在线| av不卡免费看| 蜜桃视频在线观看一区二区| 欧美日韩国产高清| 欧美日韩精品在线一区| 亚洲成人精选| 免费av一区二区三区四区| 激情视频一区二区三区| 国内精品99| 亚洲一区二区三区无吗| 最新亚洲国产| 久久国产麻豆精品| 成人黄色av| 亚洲爱爱视频| 亚洲一区二区三区四区五区午夜| 亚洲欧美日本国产专区一区| 亚洲区国产区| 成人在线观看免费视频| 福利一区和二区| 成人亚洲欧美| 亚洲欧美日韩一区在线观看| 日韩区一区二| 日韩久久精品| 亚洲视频二区| 国产欧美日韩精品一区二区免费| 黄色精品视频| 免费看日韩精品| 日韩成人a**站| 快she精品国产999| 免费日韩成人| 热久久免费视频| 精品中文在线| 四虎国产精品免费久久| 丁香婷婷久久| 日韩一二三区在线观看| 日韩大片免费观看| 亚洲91网站| 国产亚洲毛片| 在线天堂资源www在线污| 免费视频最近日韩| 999国产精品视频| 久久精品伊人| 日本中文字幕不卡| 欧美 日韩 国产一区二区在线视频| 91欧美极品| 日韩精品一二三四| 久久一级电影| 日韩国产一区二区三区| 欧美一区91| 亚洲深深色噜噜狠狠爱网站 | 精品国产一区二| 亚洲精品美女91| 最新国产拍偷乱拍精品| 国产精品麻豆久久| 四虎8848精品成人免费网站| 国产精品亚洲二区| 日本午夜免费一区二区| 另类激情亚洲| 亚洲国产一区二区在线观看| 日韩综合在线| 久久久久九九精品影院| 久久精品超碰| 日韩高清一区| 日韩欧美另类中文字幕| 三级在线观看一区二区| 婷婷成人av| 日韩在线播放一区二区|