最近开发遇到个问题,用CI做计划任务的时候发现原本定义在apache里面的环境配置没有用了。
搜索解决方案找到了这个
https://gist.github.com/aderowbotham/4144488
if (PHP_SAPI === 'cli'){
if($argv[1] != 'migrate' || !isset($argv[2]))
exit("Access denied\n");
else
define('ENVIRONMENT', $argv[2]);
} else {
define('ENVIRONMENT', getenv('APPLICATION_ENV'));
}
结合已有的服务配置,简单调整了一下
if (PHP_SAPI === 'cli'){
if(isset($argv[2]))
exit("Access denied\n");
else
define('ENVIRONMENT', $argv[2]);
} else {
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
}
这样在就可以在命令行下第三个参数设置环境变量了