|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- // +----------------------------------------------------------------------
- // | ThinkPHP [ WE CAN DO IT JUST THINK ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- // +----------------------------------------------------------------------
- // | Author: liu21st <liu21st@gmail.com>
- // +----------------------------------------------------------------------
-
- define('THINK_VERSION', '5.0.24');
- define('THINK_START_TIME', microtime(true));
- define('THINK_START_MEM', memory_get_usage());
- define('EXT', '.php');
- define('DS', DIRECTORY_SEPARATOR);
- defined('THINK_PATH') or define('THINK_PATH', __DIR__ . DS);
- define('LIB_PATH', THINK_PATH . 'library' . DS);
- define('CORE_PATH', LIB_PATH . 'think' . DS);
- define('TRAIT_PATH', LIB_PATH . 'traits' . DS);
- defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS);
- defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS);
- defined('EXTEND_PATH') or define('EXTEND_PATH', ROOT_PATH . 'extend' . DS);
- defined('VENDOR_PATH') or define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);
- defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);
- defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);
- defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH . 'cache' . DS);
- defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH . 'temp' . DS);
- defined('CONF_PATH') or define('CONF_PATH', APP_PATH); // 配置文件目录
- defined('CONF_EXT') or define('CONF_EXT', EXT); // 配置文件后缀
- defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 环境变量的配置前缀
-
- // 环境常量
- define('IS_CLI', PHP_SAPI == 'cli' ? true : false);
- define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);
-
- // 载入Loader类
- require CORE_PATH . 'Loader.php';
-
- // 加载环境变量配置文件
- if (is_file(ROOT_PATH . '.env')) {
- $env = parse_ini_file(ROOT_PATH . '.env', true);
-
- foreach ($env as $key => $val) {
- $name = ENV_PREFIX . strtoupper($key);
-
- if (is_array($val)) {
- foreach ($val as $k => $v) {
- $item = $name . '_' . strtoupper($k);
- putenv("$item=$v");
- }
- } else {
- putenv("$name=$val");
- }
- }
- }
-
- // 注册自动加载
- \think\Loader::register();
-
- // 注册错误和异常处理机制
- \think\Error::register();
-
- // 加载惯例配置文件
- \think\Config::set(include THINK_PATH . 'convention' . EXT);
|