public function returnError($errorMsg = '', $errorCode = -1, $httpStatus = 200) { if (preg_match("/too many connection/i", $errorMsg)) { $errorMsg = "流量爆表啦!小伙伴们请稍后重试吧~我们正在马不停蹄地解决!"; } if (isset($_SERVER['HTTP_ORIGIN'])) { $origin = $_SERVER['HTTP_ORIGIN']; if (preg_match(self::DOMAIN_PATTERN, $origin) === 1) { header('Access-Control-Allow-Origin: ' . $origin); header('Access-Control-Allow-Credentials: true'); } } header("Expires: 0"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header('Content-Type: application/json; charset=utf-8'); if (!empty($errorMsg)) { echo json_encode(['ok' => 0, 'code' => $errorCode, 'msg' => $errorMsg], JSON_UNESCAPED_UNICODE); } else { echo json_encode(['ok' => 0, 'code' => $errorCode, 'msg' => TErrorConstants::getErrorMsg($errorCode)], JSON_UNESCAPED_UNICODE); } Wk::app()->stop(); }
/** * 返回错误信息 * * @param string $errorMsg * @param int $errorCode * @param int $httpStatus */ public function returnError($errorMsg = '', $errorCode = -1, $httpStatus = 200) { if ($httpStatus !== 200) { switch ($httpStatus) { case 404: header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); echo '404 Not Found'; break; case 403: header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden'); echo '403 Forbidden'; break; case 500: header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error'); echo '500 Internal Server Error'; break; default: header($_SERVER['SERVER_PROTOCOL'] . ' ' . $httpStatus . ' Http Error'); echo $httpStatus . ' Http Error'; break; } } elseif (Wk_Request::isAjax()) { header('Content-Type: application/json; charset=utf-8'); if (!empty($errorMsg)) { echo json_encode(['ok' => 0, 'msg' => $errorMsg, 'code' => $errorCode], JSON_UNESCAPED_UNICODE); } else { echo json_encode(['ok' => 0, 'msg' => TErrorConstants::getErrorMsg($errorCode), 'code' => $errorCode], JSON_UNESCAPED_UNICODE); } } else { if (empty($errorMsg)) { $errorMsg = TErrorConstants::getErrorMsg($errorCode); } Wk::logger()->err('page error:' . $errorCode . (empty($errorMsg) ? '' : '(' . $errorMsg . ')')); // $this->renderView('/layouts/404'); echo 'error: ' . $errorCode . (empty($errorMsg) ? '' : '(' . $errorMsg . ')'); } Wk::app()->stop(); }