cli) { die("run form cli only"); } } function get() { die("base class"); } function onPearError($err) { // in order to get all the error msg, need to disable the prevent looping... // static $reported = false; // if ($reported) { // return; // } if (self::$permitError) { return; } // prevent looping // $reported = true; $out = $err->toString(); //print_R($bt); exit; $ret = array(); $n = 0; foreach($err->backtrace as $b) { $ret[] = @$b['file'] . '(' . @$b['line'] . ')@' . @$b['class'] . '::' . @$b['function']; if ($n > 20) { break; } $n++; } //convert the huge backtrace into something that is readable.. $out .= "\n" . implode("\n", $ret); $this->errMsg .= $out; echo $out ."\n"; } }