>백엔드 개발 >PHP 튜토리얼 >让你的错误能留下痕迹....(错误日志mysql篇目)_PHP

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

WBOY
WBOY원래의
2016-06-01 12:36:12833검색

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__  这样更好的帮您迅速找到错误所在位置,以方便解决问题

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.