Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

base.php 4.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: liu21st <liu21st@gmail.com>
  10. // +----------------------------------------------------------------------
  11. define('THINK_VERSION', '5.0.24');
  12. define('THINK_START_TIME', microtime(true));
  13. define('THINK_START_MEM', memory_get_usage());
  14. define('EXT', '.php');
  15. define('DS', DIRECTORY_SEPARATOR);
  16. defined('THINK_PATH') or define('THINK_PATH', __DIR__ . DS);
  17. define('LIB_PATH', THINK_PATH . 'library' . DS);
  18. define('CORE_PATH', LIB_PATH . 'think' . DS);
  19. define('TRAIT_PATH', LIB_PATH . 'traits' . DS);
  20. defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS);
  21. defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS);
  22. defined('EXTEND_PATH') or define('EXTEND_PATH', ROOT_PATH . 'extend' . DS);
  23. defined('VENDOR_PATH') or define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);
  24. defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);
  25. defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);
  26. defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH . 'cache' . DS);
  27. defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH . 'temp' . DS);
  28. defined('CONF_PATH') or define('CONF_PATH', APP_PATH); // 配置文件目录
  29. defined('CONF_EXT') or define('CONF_EXT', EXT); // 配置文件后缀
  30. defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 环境变量的配置前缀
  31. defined('DATA_NAME') or define('DATA_NAME', 'data');
  32. defined('DATA_PATH') or define('DATA_PATH', ROOT_PATH . DATA_NAME . DS);
  33. defined('WEAPP_DIR_NAME') or define('WEAPP_DIR_NAME', 'weapp');
  34. defined('WEAPP_PATH') or define('WEAPP_PATH', ROOT_PATH . WEAPP_DIR_NAME . DS);
  35. defined('TEMPLATE_PATH') or define('TEMPLATE_PATH', ROOT_PATH . 'template' . DS);
  36. // 新版支付宝 - 存放日志,AOP缓存数据
  37. defined('AOP_SDK_WORK_DIR') or define('AOP_SDK_WORK_DIR', RUNTIME_PATH);
  38. // 新版支付宝 - 是否处于开发模式
  39. defined('AOP_SDK_DEV_MODE') or define('AOP_SDK_DEV_MODE', false);
  40. // 环境常量
  41. define('IS_CLI', PHP_SAPI == 'cli' ? true : false);
  42. define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);
  43. // 载入Loader类
  44. require CORE_PATH . 'Loader.php';
  45. // 加载环境变量配置文件
  46. if (is_file(ROOT_PATH . '.env')) {
  47. $env = parse_ini_file(ROOT_PATH . '.env', true);
  48. foreach ($env as $key => $val) {
  49. $name = ENV_PREFIX . strtoupper($key);
  50. if (is_array($val)) {
  51. foreach ($val as $k => $v) {
  52. $item = $name . '_' . strtoupper($k);
  53. putenv("$item=$v");
  54. }
  55. } else {
  56. putenv("$name=$val");
  57. }
  58. }
  59. }
  60. // 注册自动加载
  61. \think\Loader::register();
  62. // 注册错误和异常处理机制
  63. \think\Error::register();
  64. // 加载惯例配置文件
  65. \think\Config::set(include THINK_PATH . 'convention' . EXT);
  66. /**
  67. * 自定义常量 by 小虎哥
  68. */
  69. $_request = \think\Request::instance();
  70. $http = $_request->scheme(); // 当前是http还是https协议
  71. // 网站根目录
  72. $_root = strpos($_request->root(), '.') ? ltrim(dirname($_request->root()), DS) : $_request->root();
  73. if ('' != $_root) {
  74. $_root = '/' . ltrim($_root, '/');
  75. }
  76. defined('ROOT_DIR') or define('ROOT_DIR', $_root);
  77. // 编辑器图片上传相对路径
  78. defined('UPLOAD_PATH') or define('UPLOAD_PATH', 'uploads/');
  79. // 当前是http还是https协议
  80. defined('TCP_SCHEME') or define('TCP_SCHEME', $http);
  81. // 静态页面文件目录,存储静态页面文件
  82. defined('HTML_ROOT') or define('HTML_ROOT', RUNTIME_PATH . 'html/');
  83. // 静态页面文件目录,存储静态页面文件
  84. defined('HTML_PATH') or define('HTML_PATH', HTML_ROOT . TCP_SCHEME.'/');