开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from ectouch/ectouch
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (2)
标签 (3)
master
1.0
v2.7.2
v2.7.1
v1.0.0
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (2)
标签 (3)
master
1.0
v2.7.2
v2.7.1
v1.0.0
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (2)
标签 (3)
master
1.0
v2.7.2
v2.7.1
v1.0.0
ectouch
/
include
/
base
/
EcError.class.php
ectouch
/
include
/
base
/
EcError.class.php
EcError.class.php 6.63 KB
一键复制 编辑 原始数据 按行查看 历史
carson 提交于 2018年03月12日 09:54 +08:00 . format
<?php
/**
* ECTouch Open Source Project
* ============================================================================
* Copyright (c) 2012-2014 http://ectouch.cn All rights reserved.
* ----------------------------------------------------------------------------
* 文件名称:EcError.class.php
* ----------------------------------------------------------------------------
* 功能描述:错误类
* ----------------------------------------------------------------------------
* Licensed ( http://www.ectouch.cn/docs/license.txt )
* ----------------------------------------------------------------------------
*/
/* 访问控制 */
defined('IN_ECTOUCH') or die('Deny Access');
class EcError extends Exception
{
private $errorMessage = '';
private $errorFile = '';
private $errorLine = 0;
private $errorCode = '';
private $errorLevel = '';
private $trace = '';
/**
* 构造函数
* @param unknown $errorMessage
* @param number $errorCode
* @param string $errorFile
* @param number $errorLine
*/
public function __construct($errorMessage, $errorCode = 0, $errorFile = '', $errorLine = 0)
{
parent::__construct($errorMessage, $errorCode);
$this->errorMessage = $errorMessage;
$this->errorCode = $errorCode == 0 ? $this->getCode() : $errorCode;
$this->errorFile = $errorFile == '' ? $this->getFile() : $errorFile;
$this->errorLine = $errorLine == 0 ? $this->getLine() : $errorLine;
$this->errorLevel = $this->getLevel();
$this->trace = $this->trace();
$this->showError();
}
/**
* 获取trace信息
* @return string
*/
protected function trace()
{
$trace = $this->getTrace();
$traceInfo = '';
$time = date("Y-m-d H:i:s");
foreach ($trace as $t) {
$traceInfo .= '[' . $time . '] ' . $t['file'] . ' (' . $t['line'] . ') ';
$traceInfo .= $t['class'] . $t['type'] . $t['function'] . '(';
$traceInfo .= ")<br />\r\n";
}
return $traceInfo;
}
/**
* 错误等级
* @return string
*/
protected function getLevel()
{
$Level_array = array(1 => '致命错误(E_ERROR)',
2 => '警告(E_WARNING)',
4 => '语法解析错误(E_PARSE)',
8 => '提示(E_NOTICE)',
16 => 'E_CORE_ERROR',
32 => 'E_CORE_WARNING',
64 => '编译错误(E_COMPILE_ERROR)',
128 => '编译警告(E_COMPILE_WARNING)',
256 => '致命错误(E_USER_ERROR)',
512 => '警告(E_USER_WARNING)',
1024 => '提示(E_USER_NOTICE)',
2047 => 'E_ALL',
2048 => 'E_STRICT'
);
return isset($Level_array[$this->errorCode]) ? $Level_array[$this->errorCode] : $this->errorCode;
}
/**
* 抛出错误信息,用于外部调用
* @param string $message
* @param number $code
* @param string $errorFile
* @param number $errorLine
*/
public static function show($message = "", $code = 0, $errorFile = '', $errorLine = 0)
{
if (function_exists('ec_error_ext')) {
ec_error_ext($message, $code, $errorFile, $errorLine);
} else {
new EcError($message, $code, $errorFile, $errorLine);
}
}
/**
* 记录错误信息
* @param unknown $message
*/
public static function write($message)
{
$log_path = C('LOG_PATH');
//检查日志记录目录是否存在
if (!is_dir($log_path)) {
//创建日志记录目录
@mkdir($log_path, 0777, true);
}
$time = date('Y-m-d H:i:s');
$ip = function_exists('get_client_ip') ? get_client_ip() : $_SERVER['REMOTE_ADDR'];
$destination = $log_path . date("Y-m-d_") . md5($log_path) . ".log";
//写入文件,记录错误信息
@error_log("{$time} | {$ip} | {$_SERVER['PHP_SELF']} |{$message}\r\n", 3, $destination);
}
/**
* 输出错误信息
*/
protected function showError()
{
//如果开启了日志记录,则写入日志
if (C('LOG_ON')) {
self::write($this->message);
}
$error_url = C('ERROR_URL');
//错误页面重定向
if ($error_url != '') {
echo '<script language="javascript">
if(self!=top){
parent.location.href="' . $error_url . '";
} else {
window.location.href="' . $error_url . '";
}
</script>';
exit;
}
if (defined('DEBUG') && false == DEBUG) {
@header("HTTP/1.1 404 Not Found");
exit;
}
if (!defined('__APP__')) {
define('__APP__', '/');
}
echo '<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>系统发生错误</title>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<style type="text/css">
*{ padding: 0; margin: 0; }
html{ overflow-y: scroll; }
body{ background: #fff; font-family: \'微软雅黑\'; color: #333; font-size: 16px; }
img{ border: 0; }
.error{ margin: 36px 12px; }
.face{ font-size: 36px; font-weight: normal; line-height: 36px; margin-bottom: 36px; }
h1{ font-size: 16px; line-height: 24px; }
.error .content{ padding-top: 10px}
.error .info{ margin-bottom: 12px; }
.error .info .title{ margin-bottom: 3px; }
.error .info .title h3{ color: #000; font-weight: 700; font-size: 16px; }
.error .info .text{ line-height: 24px; word-wrap: break-word;}
.copyright{ padding: 12px; color: #999; }
.copyright a{ color: #000; text-decoration: none; }
</style>
</head>
<body>
<div class="error">
<p class="face">:(</p>
<h1>' . $this->message . '</h1>';
//开启调试模式之后,显示详细信息
if (($this->errorCode > 0) && ($this->errorCode != 404) && C('DEBUG')) {
echo '
<div class="content">
<div class="info">
<div class="title"><h3>出错信息</h3></div>
<div class="text">
<p>FILE: ' . $this->errorFile . ' &#12288;LINE: ' . $this->errorLine . '</p>
</div>
<div class="text">
<p>错误级别: ' . $this->errorLevel . '</p>
</div>
</div>
</div>';
}
echo '
</div>
<div class="copyright">
<p><a title="官方网站" href="http://www.ectouch.cn">ECTouch</a><sup>'.VERSION.'</sup></p>
<p style="text-align:right">[ 商创网络科技 专注移动电商 ]</p>
</div>
</body>
</html>';
exit;
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

ECTouch是一款开源的电商系统,为中小企业提供最佳的新零售解决方案。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/junchen/ectouch.git
git@gitee.com:junchen/ectouch.git
junchen
ectouch
ectouch
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /