/** * session初始化 * * @param array $config * * @throws \Think\Exception\Exception */ public static function init(array $config = array()) { if (empty($config)) { $config = Config::get('session'); } // 记录初始化信息 APP_DEBUG && Log::record('[ SESSION ] INIT ' . var_export($config, true), 'info'); $isDoStart = false; if (isset($config['use_trans_sid'])) { ini_set('session.use_trans_sid', $config['use_trans_sid'] ? 1 : 0); } // 启动session if (!empty($config['auto_start']) && PHP_SESSION_ACTIVE != session_status()) { ini_set('session.auto_start', 0); $isDoStart = true; } if (isset($config['prefix'])) { self::$prefix = $config['prefix']; } if (isset($config['var_session_id']) && isset($_REQUEST[$config['var_session_id']])) { session_id($_REQUEST[$config['var_session_id']]); } elseif (isset($config['id']) && !empty($config['id'])) { session_id($config['id']); } if (isset($config['name'])) { session_name($config['name']); } if (isset($config['path'])) { session_save_path($config['path']); } if (isset($config['domain'])) { ini_set('session.cookie_domain', $config['domain']); } if (isset($config['expire'])) { ini_set('session.gc_maxlifetime', $config['expire']); ini_set('session.cookie_lifetime', $config['expire']); } if (isset($config['use_cookies'])) { ini_set('session.use_cookies', $config['use_cookies'] ? 1 : 0); } if (isset($config['cache_limiter'])) { session_cache_limiter($config['cache_limiter']); } if (isset($config['cache_expire'])) { session_cache_expire($config['cache_expire']); } if (!empty($config['type'])) { // 读取session驱动 $class = (!empty($config['namespace']) ? $config['namespace'] : '\\Supe\\Core\\Session\\Driver\\') . ucwords($config['type']); // 检查驱动类 if (!class_exists($class) || !session_set_save_handler(new $class($config))) { throw new \Supe\Exception\Exception('error session handler', 11700); } } if ($isDoStart) { session_start(); self::$active = true; } }
function uploadAction() { $appId = Config::get('uploader.app_id'); $secretKey = Config::get('uploader.secret_key'); $key = 'filename'; $policy = array('file_type' => 'image', 'max_size' => '1000'); $input = self::createQuery($appId, $secretKey, $key, $policy, TIMESTAMP + 300, ''); $this->assign('input', $input); $this->render('upload'); }
/** * 数据库连接参数解析 * * @static * @access private * * @param mixed $config * * @return array */ private static function parseConfig($config = '') { if (empty($config)) { $config = Config::get('database'); } elseif (is_string($config) && false === strpos($config, '/')) { // 支持读取配置参数 $config = Config::get($config); } if (is_string($config)) { return self::parseDsn($config); } else { return $config; } }
<?php header("Content-type:text/html;charset=utf-8"); // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 开启调试模式 define('APP_DEBUG', true); // 在ADMIN中 define('IN_ADMIN', APP_DEBUG); // 加载框架引导文件 require __DIR__ . '/../base.php'; use Supe\Core\Config; ############################################## define('CDNSALT', '?20160601'); define('STATIC_ADMIN_URL', Config::get('static_url.admin')); define('STATIC_COMMON_URL', Config::get('static_url.common')); define('STATIC_WAP_URL', Config::get('static_url.wap')); \App\Admin\Control\AdminBaseControl::run();
/** * 实时写入日志信息 并支持行为 * * @param mixed $msg 调试信息 * @param string $type 信息类型 * * @return bool */ public static function write($msg, $type = 'log') { if (!is_string($msg)) { $msg = var_export($msg, true); } // 封装日志信息 $log[] = array('type' => $type, 'msg' => $msg); if (is_null(self::$driver)) { self::init(Config::get('log')); } // 写入日志 return self::$driver->save($log); }
// 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 开启调试模式 define('APP_DEBUG', true); // 在ADMIN中 define('IN_ADMIN', APP_DEBUG); // 加载框架引导文件 require __DIR__ . '/../base.php'; use Supe\Core\Config; use Supe\Wechat\Server; use Supe\Wechat\Message; use Supe\Wechat\QRCode; ############################################## $log = array('_SERVER' => $_SERVER, '_POST' => $_POST, '_GET' => $_GET, 'xml' => file_get_contents('php://input')); file_put_contents(__DIR__ . '/1.log', print_r($log, 1)); $config = Config::get('wechat'); define('WX_APPID', $config['appId']); define('WX_APPSECRET', $config['appSecret']); define('WX_TOKEN', $config['token']); define('WX_ENCODINGAESKEY', $config['encodingAESKey']); $server = new Server(WX_APPID, WX_TOKEN, WX_ENCODINGAESKEY); $server->on('event', 'subscribe', 'eventSubscribe'); //扫码事件 $server->on('event', 'scan', 'eventScan'); $server->on('message', 'text', 'messageText'); $result = $server->serve(); echo $result; function eventSubscribe($event) { return Message::make('text')->content('您好!欢迎关注' . print_r($event, 1)); }
defined('ROOT_PATH') or define('ROOT_PATH', dirname(APP_PATH) . DS); defined('DATA_PATH') or define('DATA_PATH', SUPE_PATH . 'data' . DS); defined('LOG_PATH') or define('LOG_PATH', DATA_PATH . 'log' . DS); defined('CACHE_PATH') or define('CACHE_PATH', DATA_PATH . 'cache' . DS); defined('TEMP_PATH') or define('TEMP_PATH', DATA_PATH . 'temp' . DS); defined('CONF_PATH') or define('CONF_PATH', DATA_PATH . 'config' . DS); // 配置目录 defined('IS_API') or define('IS_API', false); // 环境常量 define('IS_CLI', PHP_SAPI == 'cli' ? true : false); define('IS_WIN', strpos(PHP_OS, 'WIN') !== false); // 基础类引入 require __DIR__ . '/system/Core/Loader.php'; require __DIR__ . '/system/Core/Config.php'; require __DIR__ . '/system/Core/Error.php'; require __DIR__ . '/system/Core/Cookie.php'; use Supe\Core\Loader; use Supe\Core\Config; use Supe\Core\Error; use Supe\Core\Cookie; // 类库载入 Loader::addNamespace('Supe', LIB_PATH); Loader::addNamespace('App', APP_PATH); Loader::register(); //错误信息收集 Error::register(); //配置信息 Config::load(CONF_PATH . 'bootstrap.inc.php'); //Cookie配置 Cookie::init(Config::get('cookie'));
/** * 输出异常信息 * * @param \Exception $exception * @param array $data 异常信息 * * @return void */ public static function output($exception, array $data) { self::httpResponseCode($exception instanceof Exception ? $exception->getHttpStatus() : 500); $type = Config::get('default_return_type'); if (!APP_DEBUG && !Config::get('show_error_msg')) { // 不显示详细错误信息 $data['message'] = Config::get('error_message'); ##} ##if (IS_API && 'html' != $type) { // 异常信息输出监听 ##APP_HOOK && Hook::listen('error_output', $data); // 输出异常内容 ##Response::send($data, $type, Config::get('response_return')); } else { //ob_end_clean(); extract($data); // var_dump(Config::get('exception_tmpl'));exit; include Config::get('exception_tmpl'); } }