为什么一定要用脚本?为什么一定得是全功能的脚本?有图有真相!!!

对于一个标准的Web服务器来说,热更新永远是绕不过去的话题,所以就有了下面这个内容:

因为设置用户调试状态的原因,MHS主站的访问都会在Console框中显示执行的SQL语句,这样就能知道何时有人访问了Web站点,但访问来自于哪里就不知道了,所以,最简单的方法就是加上访问日志,当然是先创建数据表:

CREATE TABLE visit_log ( 
    id         INTEGER        PRIMARY KEY AUTOINCREMENT,
    ip         VARCHAR( 15 ),
    url        TEXT( 64 ),
    refer      TEXT( 64 ),
    useragent  TEXT,
    createtime DATETIME       DEFAULT ( datetime( 'now', 'localtime' )  ) 
);
然后在THeaderView中加上这么一个方法:

class function THeaderView.WriteVisitLog: Boolean;    
begin
  Result := TBaseQry.DbExec('Insert into visit_log(ip, url, refer, useragent) values(:ip, :url, :refer, :useragent);',
    VarArrayOf([Request.RemoteAddr, Request.URL, Request.Referer, Request.UserAgent])) > 0;
end;

当然要在class function THeaderView.GetHeaderText(ACurPage: string): string;的开始要加入:

  WriteVisitLog;
这句话。

说了半天,其实,所有的内容都可以浓缩成一句话搞定的!!!不明白的可以仔细想想。

最终的结果吗,就是这个样子了:

不停机热更新的好处,自然是谁用谁知道的!

0 Comments
因网站受黑客垃圾攻击,留言暂时关闭,如有需要,请自行下载源码参考,谢谢。
留言