自动根据环境变量识别是否调试模式

This commit is contained in:
thinkphp
2016-03-23 15:41:07 +08:00
parent 8cab3f1e58
commit eff3dd828c
4 changed files with 16 additions and 23 deletions

View File

@@ -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接口

View File

@@ -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));
}
}

View File

@@ -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 配置参数名(支持二级配置 .号分割)

View File

@@ -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();