让你的错误能留下痕迹....(错误日志mysql篇目)
发表于:2007-07-01来源:作者:点击数:
标签:
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