There are questions remain, We'll search for the answers together. But one thing we known for sure,the future is not set!

【原创文章】推荐两种调试ecshop php程序日志记录的方法

ecshop 百蔬君 8472℃ 已收录 0评论

最近在调试ecshop的程序,发现一些好的调试方法。在php程序的调试中,对于变量值的获取非常重要,这样才能判断是哪里出了问题,如果变量明明赋值了,为什么是空值呢,就可以一步一步追查到原因。我比较喜欢这两个记录当前变量的方法,

第一个方式是file_put_contents函数

非常的简单,这里举一个例子。

$logofile =’log.html’;
file_put_contents($logofile, $data.”<br>”,FILE_APPEND);

就是将变量值$data写入log.html中。

第二个方式是error_log函数

$logofile =’log.html’;
error_log("You messed up!", 3, $logofile);

我比较喜欢error_log函数,file_put_contents函数有时候会出现错误,无法写入,error_log函数我还没有遇到。logofile值,我一般设置为绝对路径,用emeditor打开,有任何风吹草动,他马上就会提示。
Snap1

有动静就说明是在这个位置执行的,有数据的变化了。

这个函数的接口为

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

其中第一个参数是要输出的日志,第二个参数是输出的方式,一共有四种方式,分别是:
error_log() 日志类型
0 message 发送到 PHP 的系统日志,使用操作系统的日志机制或者一个文件,取决于error_log 指令设置了什么。这是个默认的选项。
1 message 发送到参数 destination设置的邮件地址。第四个参数 extra_headers 只有在这个类型里才会被用到。
2 不再是一个选项。
3 message 被发送到位置为 destination 的文件里。字符 message 不会默认被当做新的一行。(我喜欢这种方式
4 message 直接发送到 SAPI 的日志处理程序中。

 

 

 

转载请注明:百蔬君 » 【原创文章】推荐两种调试ecshop php程序日志记录的方法

喜欢 (11)or分享 (0)
发表我的评论
取消评论

请证明您不是机器人(^v^):

表情