diff --git a/base.php b/base.php index 33231fcc..768dea1d 100644 --- a/base.php +++ b/base.php @@ -37,7 +37,6 @@ defined('VIEW_LAYER') or define('VIEW_LAYER', 'view'); defined('CONTROLLER_LAYER') or define('CONTROLLER_LAYER', 'controller'); defined('VALIDATE_LAYER') or define('VALIDATE_LAYER', 'validate'); defined('APP_MULTI_MODULE') or define('APP_MULTI_MODULE', true); // 是否多模块 -defined('APP_DEBUG') or define('APP_DEBUG', false); // 是否调试模式 defined('APP_HOOK') or define('APP_HOOK', false); // 是否开启HOOK defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 环境变量的配置前缀 defined('IS_API') or define('IS_API', false); // 是否API接口 diff --git a/library/think/App.php b/library/think/App.php index 38ae4e60..f886ea3c 100644 --- a/library/think/App.php +++ b/library/think/App.php @@ -28,9 +28,6 @@ class App */ public static function run() { - // 加载环境变量配置文件 - Config::loadEnv(APP_PATH . 'env' . EXT); - // 初始化应用(公共模块) self::initModule(COMMON_MODULE, Config::get()); @@ -276,8 +273,8 @@ class App // 读取扩展配置文件 if ($config['extra_config_list']) { foreach ($config['extra_config_list'] as $name => $file) { - $file = strpos($file, '.') ? $file : $path . $file . EXT; - Config::load($file, is_string($name) ? $name : pathinfo($file, PATHINFO_FILENAME)); + $filename = $path . $file . EXT; + Config::load($filename, is_string($name) ? $name : pathinfo($filename, PATHINFO_FILENAME)); } } diff --git a/library/think/Config.php b/library/think/Config.php index d0ebd575..7f4f829c 100644 --- a/library/think/Config.php +++ b/library/think/Config.php @@ -61,23 +61,6 @@ class Config return is_file($file) ? self::set(include $file, $name, $range) : self::$config[$range]; } - /** - * 加载环境变量配置文件 - * @param string $file 配置文件名 - * @param string $name 配置名(如设置即表示二级配置) - * @return void - */ - public static function loadEnv($file, $name = '') - { - if (is_file($file)) { - $env = include $file; - foreach ($env as $key => $val) { - $name = !empty($name) ? ENV_PREFIX . $name . '_' . $key : ENV_PREFIX . $key; - putenv("$name=$val"); - } - } - } - /** * 检测配置是否存在 * @param string $name 配置参数名(支持二级配置 .号分割) diff --git a/start.php b/start.php index 30fcb7bc..86ef2534 100644 --- a/start.php +++ b/start.php @@ -16,6 +16,20 @@ namespace think; require __DIR__ . '/base.php'; require CORE_PATH . 'Loader.php'; +// 加载环境变量配置文件 +if (is_file(ROOT_PATH . 'env' . EXT)) { + $env = include ROOT_PATH . 'env' . EXT; + foreach ($env as $key => $val) { + $name = ENV_PREFIX . $key; + putenv("$name=$val"); + } +} +// 自动识别调试模式 +if (!defined('APP_DEBUG')) { + $debug = getenv(ENV_PREFIX . 'APP_DEBUG'); + define('APP_DEBUG', $debug); +} + // 注册自动加载 Loader::register();