打开include/Convention.php
/* 访问控制 */ defined('IN_ECTOUCH') or die('Deny Access'); return array( /* 应用配置 */ 'APP' => array( 'DEFAULT_TIMEZONE' => 'PRC', // 时区设置 /* 日志和错误调试配置 */ 'DEBUG' => false, // 是否开启调试模式,true开启,false关闭 'LOG_ON' => false, // 是否开启出错信息保存到文件,true开启,false不开启 'LOG_PATH' => ROOT_PATH . 'data/cache/log/', // 出错信息存放的目录,出错信息以天为单位存放,一般不需要修改 'ERROR_URL' => '', // 出错信息重定向页面,为空采用默认的出错页面,一般不需要修改修改这里
'DEBUG' => <span style="font-family: Arial, Helvetica, sans-serif;">true</span> , // 是否开启调试模式,true开启,false关闭
例如
:(
Call to undefined function eixt()
出错信息
FILE: D:\wwwroot\szny\wwwroot\mobile\include\apps\default\controller\FlowController.class.php LINE: 1408
错误级别: 致命错误(E_ERROR)
ECTouch1.0_20141218
==============================================
/**
* 输出错误信息
*/
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;
}
========================
ectouch.php
try {
/* 常规URL */
defined('__HOST__') or define('__HOST__', get_domain());
defined('__ROOT__') or define('__ROOT__', rtrim(dirname($_SERVER["SCRIPT_NAME"]), '\\/'));
defined('__URL__') or define('__URL__', __HOST__ . __ROOT__);
defined('__ADDONS__') or define('__ADDONS__', __ROOT__ . '/plugins');
defined('__PUBLIC__') or define('__PUBLIC__', __ROOT__ . '/data/common');
defined('__ASSETS__') or define('__ASSETS__', __ROOT__ . '/data/assets/' . APP_NAME);
/* 安装检测 */
if (! file_exists(ROOT_PATH . 'data/install.lock') && APP_NAME !== 'install') {
header("Location: " . url('install/index/index'));
exit();
}
/* 控制器和方法 */
$controller = CONTROLLER_NAME . 'Controller';
$action = ACTION_NAME;
/* 控制器类是否存在 */
if (! class_exists($controller)) {
E(APP_NAME . '/' . $controller . '.class.php 控制器类不存在', 404);
}
$obj = new $controller();
/* 是否非法操作 */
if (! preg_match('/^[A-Za-z](\w)*$/', $action)) {
E(APP_NAME . '/' . $controller . '.class.php的' . $action . '() 方法不合法', 404);
}
/* 控制器类中的方法是否存在 */
if (! method_exists($obj, $action)) {
E(APP_NAME . '/' . $controller . '.class.php的' . $action . '() 方法不存在', 404);
}
/* 执行当前操作 */
$method = new ReflectionMethod($obj, $action);
if ($method->isPublic() && ! $method->isStatic()) {
$obj->$action();
} else {
/* 操作方法不是Public 抛出异常 */
E(APP_NAME . '/' . $controller . '.class.php的' . $action . '() 方法没有访问权限', 404);
}
} catch (Exception $e) {
EcError::show($e->getMessage(), $e->getCode());
}