Ejemplo n.º 1
0
 /**
  * エラーの内容をトレースする.
  *
  * XXX trigger_error で処理する場合、1024文字以内に抑える必要がある。
  * XXX 重要な情報を先頭に置き、冗長になりすぎないように留意する。
  * @access private
  * @param  \PEAR::Error $error  \PEAR::Error インスタンス
  * @param  string      $sql    エラーの発生した SQL 文
  * @param  array       $arrVal プレースホルダ
  * @return string      トレースしたエラー文字列
  */
 public function traceError($error, $sql = '', $arrVal = false)
 {
     $err = "SQL: [{$sql}]\n";
     if ($arrVal !== false) {
         $err .= 'PlaceHolder: [' . var_export($arrVal, true) . "]\n";
     }
     $err .= $error->getMessage() . "\n";
     $err .= rtrim($error->getUserInfo()) . "\n";
     // \PEAR::MDB2 内部のスタックトレースを出力する場合、下記のコメントを外す。
     // $err .= GcUtils::toStringBacktrace($error->getBackTrace());
     return $err;
 }
Ejemplo n.º 2
0
 /**
  * エラーの内容をトレースする.
  *
  * @access private
  * @param PEAR::Error $error PEAR::Error インスタンス
  * @param string $sql エラーの発生した SQL 文
  * @param array $arrVal プレースホルダ
  * @return string トレースしたエラー文字列
  */
 function traceError($error, $sql = "", $arrVal = false)
 {
     $scheme = '';
     if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
         $scheme = "http://";
     } else {
         $scheme = "https://";
     }
     $err = $scheme . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "\n\n" . "SERVER_ADDR: " . $_SERVER['SERVER_ADDR'] . "\n" . "REMOTE_ADDR: " . $_SERVER['REMOTE_ADDR'] . "\n" . "USER_AGENT: " . $_SERVER['HTTP_USER_AGENT'] . "\n\n" . "SQL: " . $sql . "\n\n";
     if ($arrVal !== false) {
         $err .= "PlaceHolder: " . var_export($arrVal, true) . "\n\n";
     }
     $err .= $error->getMessage() . "\n\n";
     $err .= $error->getUserInfo() . "\n\n";
     $err .= SC_Utils_Ex::sfBacktraceToString($error->getBackTrace());
     return $err;
 }