让你的错误能留下痕迹(错误日志mysql篇目)

发表于:2007-07-14来源:作者:点击数: 标签:
class.method //建立错误日志 function error(){ $fp=@fopen(error.dat,a+); $time=date(Y-m-d H:i:s); $msg={VisitedTime:$time}\t{VisiterIP:$_SERVER[REMOTE_ADDR]}\t{Errormsg:. mysql _error().}\t{File:-$_SERVER[ PHP _SELF]}\t{User:$_SESSION[user]
class.method

    //建立错误日志
    function error(){
        $fp=@fopen("error.dat","a+");
        $time=date("Y-m-d H:i:s");
        $msg="{VisitedTime:$time}\t{VisiterIP:$_SERVER[REMOTE_ADDR]}\t{Errormsg:".mysql_error()."}\t{File:->$_SERVER[PHP_SELF]}\t{User:$_SESSION[user]}\r\n";
        @fputs($fp,$msg);
        @fclose($fp);
    }


当你使用mysql做站点的时候,肯定有你不知道的错误发生,怎么记录呢?用mail将邮件发送到你的邮箱里吗?你很确定您就能收到邮件吗?在linux下可以向root sendmail,这样达到维护目的,但是root邮件是不是太多了?再建立用户?

这个直接在你的目录下建立错误日志
上面的是我使用的一个类中的错误记录方法
在您的使用了mysql连接的页面内这样调用

if(mysql_error()){
       $classname->error();
}

______________________________________________

一但你的页面发生错误,在页面内只要你屏蔽的够隐蔽了,就不会泄露信息,相对在这个目录内就建立了
error.dat内容为(eg.)

{VisitedTime:2002-05-09 14:43:56}    {VisiterIP:127.0.0.1}    {Errormsg:Duplicate entry '0' for key 1}    {File:->/path/path/errorfilename.php}    {User:sports98}

我想这样的记录对于您来分析您的页面肯定是有好处的

如果您是 include请不要加__LINE__
如果您是 require 建议加入__LINE__  这样更好的帮您迅速找到错误所在位置,以方便解决问题

原文转自:http://www.ltesting.net