yii自定义日志格式(加入用户ID,IP前缀)

RT,yii中有比较全面的日志系统设计。要自定义日志输出,只要继承LogFilter类,覆盖/重写/自定义相关方法即可。 这里用“实现每条日志加入用户ID,IP前缀”功能为例。 1.思路:自定义LogFilter类继承CLogFilter类,重写format方法 2.代码: –自定义类LXDefaultLogFilter class LXDefaultLogFilter extends CLogFilter { public $prefixClientIp = true; public »

header跳转时Location中包含&(ampersand)符号时的问题

PHP中的redirect跳转一般是使用header函数来实现。但如果传递url时,如果里面包含&符号,跳转就会有问题,因为它会被转义成“&”(不包含括号)。我发现wordpress中的wp-redirect函数竟然也有这个问题(尽管其中进行了各种特殊字符处理)。解决办法其实也很简单,跳转前再进行一下替换即可: $url = str_replace('&', '&', $url); header("Location: $location" »

php打印调用栈函数

有时候(尤其是写日志的时候)我们会需要把当前的调用栈打印出来,以便排查问题。php中有一个函数是干这个事情的,它就是debug_backtrace方法。返回的对象中包含很“丰富”的信息。为方便输出,可将封装成以下方法: public function getTrace($msg="",$level=3){ $traces=debug_backtrace(); $count=0; foreach($traces as »