电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

用定制的PHP應(yīng)用程序來獲取Web服務(wù)器的狀態(tài)信息

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

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

公共日志文件格式(Common Logfile Format,CLF)的結(jié)構(gòu)

CLF最初是NCSA為HTTPd(全球網(wǎng)服務(wù)器軟件)而設(shè)計(jì)的。CERN HTTPd是一個(gè)由萬維網(wǎng)聯(lián)盟(World Wide Web Consortium,W3C)維護(hù)的公共域Web服務(wù)器。W3C網(wǎng)站列出了該日志文件規(guī)范。基于微軟和UNIX的Web服務(wù)器都可以生成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

下面是日志條目的細(xì)目分類:

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

服務(wù)器狀態(tài)代碼

你可以在HTTP標(biāo)準(zhǔn)中找到W3C所開發(fā)的服務(wù)器狀態(tài)代碼規(guī)范。這些由服務(wù)器所產(chǎn)生的狀態(tài)代碼表示了瀏覽器和服務(wù)器之間的數(shù)據(jù)傳輸成功與否。這些代碼一般傳遞給瀏覽器(例如非常有名的404錯(cuò)誤“頁面沒有找到“)或者添加到服務(wù)器日志中去。

收集數(shù)據(jù)

創(chuàng)建我們的自定義應(yīng)用程序的第一步就是獲取用戶數(shù)據(jù)。每當(dāng)用戶選擇網(wǎng)站的某個(gè)資源時(shí),我們就希望創(chuàng)建一個(gè)對應(yīng)的日志條目。幸好,服務(wù)器變量的存在使得我們能夠查詢用戶瀏覽器并獲取數(shù)據(jù)。

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

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

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

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

其中“123”表示“cnet-banner.gif”所對應(yīng)的記錄。然后,我們通過服務(wù)器變量來查詢用戶瀏覽器。這樣我們就得到在我們的日志文件中添加新條目所需的數(shù)據(jù)://得到網(wǎng)站瀏覽者的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';

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

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

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

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

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

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

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

處理日志數(shù)據(jù)

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

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

WebTrends是一個(gè)非常不錯(cuò)的日志分析器,它適用于大規(guī)模網(wǎng)站以及企業(yè)級(jí)的網(wǎng)絡(luò)。 Analog是一個(gè)頗受歡迎的免費(fèi)日志分析器。 Webalizer是一個(gè)免費(fèi)的分析程序。它可以產(chǎn)生HTML報(bào)告,這樣大多數(shù)網(wǎng)絡(luò)瀏覽器都可以查看它的報(bào)告。

遵守標(biāo)準(zhǔn)

我們可以輕松的擴(kuò)展該應(yīng)用程序來讓它支持其它類型的日志記錄。這樣你就可以捕獲到更多的數(shù)據(jù),如瀏覽器類型以及referrer(referrer指得是鏈接到當(dāng)前網(wǎng)頁的前一個(gè)網(wǎng)頁)。這里的經(jīng)驗(yàn)就是:在你編程的時(shí)候遵循標(biāo)準(zhǔn)或者慣例終究會(huì)簡化工作。

標(biāo)簽: PHP
主站蜘蛛池模板: 计算机毕业设计源码网| 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | 气动隔膜泵厂家-温州永嘉定远泵阀有限公司| 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 温州食堂承包 - 温州市尚膳餐饮管理有限公司 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | POS机官网 - 拉卡拉POS机免费办理|官网在线申请入口 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 青岛侦探调查_青岛侦探事务所_青岛调查事务所_青岛婚外情取证-青岛狄仁杰国际侦探公司 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 盘古网络技术有限公司| 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 铁盒_铁罐_马口铁盒_马口铁罐_铁盒生产厂家-广州博新制罐 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 地磅-电子地磅维修-电子吊秤-汽车衡-无人值守系统-公路治超-鹰牌衡器 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 |