处理多环境¶
开发者常常希望当系统运行在开发环境或生产环境中时能有不同的行为, 例如,在开发环境如果程序能输出详细的错误信息将非常有用,但是在 生产环境这将造成一些安全问题。
ENVIRONMENT 常量¶
CodeIgniter 默认使用 $_SERVER['CI_ENV'] 的值作为 ENVIRONMENT 常量, 如果 $_SERVER['CI_ENV'] 的值没有设置,则设置为 'development'。在 index.php 文件的顶部,你可以看到:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
$_SERVER['CI_ENV'] 的值可以在 .htaccess 文件或 Apache 的配置文件中 使用 SetEnv 命令进行设置,Nginx 或其他 Web 服务器也有类似的设置方法。 或者你可以直接删掉这个逻辑,根据服务器的 IP 地址来设置该常量。
使用这个常量,除了会影响到一些基本的框架行为外(见下一节), 你还可以在开发过程中使用它来区分当前运行的是什么环境。