# 处理多环境
开发者常常希望当系统运行在开发环境或生产环境中时能有不同的行为, 例如,在开发环境如果程序能输出详细的错误信息将非常有用,但是在 生产环境这将造成一些安全问题。
# 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 地址来设置该常量。
使用这个常量,除了会影响到一些基本的框架行为外(见下一节), 你还可以在开发过程中使用它来区分当前运行的是什么环境。
# 对默认框架行为的影响
CodeIgniter 系统中有几个地方用到了 ENVIRONMENT 常量。这一节将描述 它对框架行为有哪些影响。
# 错误报告
如果将 ENVIRONMENT 常量设置为 'development' ,当发生 PHP 错误时错误信息会显示到浏览器上。与之相对的,如果将常量设置为 'production' 错误输出则会被禁用。在生产环境禁用错误输出是个 不错的安全实践。
# 配置文件
另外,CodeIgniter 还可以根据不同的环境加载不同的配置文件, 这在处理例如不同环境下有着不同的 API Key 的情况时相当有用。 这在 配置类 文档中的“环境”一节有着更详细的介绍。
- 空白目录
- 欢迎使用 CodeIgniter
- 安装说明
- 下载CodeIgniter
- 安装说明
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- 开始
- CodeIgniter 是什么?
- 支持特性
- 应用程序流程图
- 模型-视图-控制器
- 架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 向 CodeIgniter 贡献你的力量
- 编写 CodeIgniter 的文档
- Developer's Certificate of Origin 1.1
- 常规主题
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 类库参考
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类