Yii2 环境常量设置dev和prod, debug开启
在Yii2开发时可以配置不同的环境, 配置要随着应用运行的不同环境更改。例如在开发环境中,你可能使用名为
debug设置
在frontend/config/main-local.php或 backend/config/main-local.php文件中可以配置debug
当启用debug后, /runtime/debug就会写入debug等文件
db_dev
的数据库,而生产环境则使用 db_prod
数据库。为便于切换使用环境,Yii 提供了一个定义在入口脚本中的 YII_ENV
常量。如下:
defined('YII_ENV') or define('YII_ENV', 'dev');
YII_ENV
可以定义成以下三种值:
prod:生产环境。常量 YII_ENV_PROD 为 true。这是 YII_ENV 的默认值。
dev:开发环境。常量 YII_ENV_DEV 为 true。
test:测试环境。常量 YII_ENV_TEST 为 true。
但总的来说, 在本地就选dev,线上就选prod
//开发环境dev的入口文件代码
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
//生产环境prod的入口文件代码
defined('YII_DEBUG') or define('YII_DEBUG', false);
defined('YII_ENV') or define('YII_ENV', 'prod');
debug设置
在frontend/config/main-local.php或 backend/config/main-local.php文件中可以配置debug
if (!YII_ENV_TEST) {
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = [
'class' => 'yii\debug\Module',
];
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
];
}
if (!YII_ENV_TEST) 这样, 只要 非 测试test环境都会启用debug和gii, 可以改为if(YII_ENV_DEV),仅开发环境时才启用当启用debug后, /runtime/debug就会写入debug等文件