public static function record($errType, $debugData, $err) { // 是否开启调试模式 // 不开启则直接发送HTTP/1.1 404 NOT FOUND 错误 $ignoreErrType = explode(",", ERROR_IGNORE_TYPE); if (in_array($errType, $ignoreErrType)) { return; } list($code, $msg, $file, $line) = $err; if (!is_dir($logPath = DOCUMENT_ROOT . "/Webapp/Log")) { mkdir($logPath); } if (DEBUG_ON) { $recordMsg = "[" . date('Y-m-d H:i:s') . "]" . "[ERROR][{$code}]:" . $msg . "in File" . $file . " line " . $line . "\n"; $printMsg = "<h1>>_<</h1> <h2>{$msg}</h2><br/>" . "[{$errType}] File:{$file} in line <strong>{$line}</strong><br/>"; print $printMsg; NotePHP::printDebugMsg($debugData); self::$LogFileHandle = fopen($logPath . "/error.log", "a+"); fwrite(self::$LogFileHandle, $recordMsg); fclose(self::$LogFileHandle); } else { // 响应404错误 http_response_code(404); // php 5.3.3版本下的用header header(SERVER_PROTOCOL . ' 404 Not Found'); echo "<center><h2>404 Not Found</h3></center><hr/>"; } // 退出进程 exit; }
public static function LastErr() { $err = error_get_last(); if (empty($err)) { return; } $errType = self::selectErrorType($err['type']); $debugTraceData = debug_backtrace(); $err = array($err['type'], $err['message'], $err['file'], $err['line']); self::$errData = array($errType, $debugTraceData, $err); self::writeLog(); }
*/ // 定义根目录 define("__ROOT__", "./"); // 定义notephp根目录 define('__NOTEPHP__', "./notephp"); // 默认app_name 为Home defined("APP_NAME") or define("APP_NAME", "Home"); // 服务里主机名 define("SERVER_HOST", $_SERVER['HTTP_HOST']); // 服务器名 define("SERVER_NAME", $_SERVER['SERVER_NAME']); // 项目公共配置和函数库目录 define("__COMMON__", "./Webapp/Common"); define("SERVER_PROTOCOL", $_SERVER['SERVER_PROTOCOL']); // 定义本地项目根目录 define("DOCUMENT_ROOT", $_SERVER['DOCUMENT_ROOT']); // 项目扩展目录 define("__EXTENDS__", "./Webapp/Extends"); // 定义项目目录 define("PRO_PATH", "./Webapp"); // 定义模块目录 define("MODULE_PATH", PRO_PATH . "/" . APP_NAME); // 定义公共目录 define("__PUBLIC__", "./Public"); // 定义类文件后缀 define("EXTS", ".class.php"); // 加载框架运行文件 require_once __NOTEPHP__ . "/Core/Notephp" . EXTS; // 运行初始文件 NotePHP::initialize();