CI多环境 挺有用的,记录一下

CI多环境

你可以根据当前的环境来加载不同的配置文件,index.php 文件中定义了 ENVIRONMENT常量, 中有更详细的介绍。

要创建特定环境的配置文件,新建或复制一个配置文件到 application/config/{ENVIRONMENT}/{FILENAME}.php 。

例如,要新建一个生产环境的配置文件,你可以:

  1. 新建目录 application/config/production/
  2. 将已有的 config.php 文件拷贝到该目录
  3. 编辑 application/config/production/config.php 文件,使用生产环境下配置

当你将 ENVIRONMENT 常量设置为 'production' 时,你新建的生产环境下的 config.php里的配置将会加载。

你可以放置以下配置文件到特定环境的目录下:

  • 默认的 CodeIgniter 配置文件
  • 你自己的配置文件

处理多环境

开发者常常希望当系统运行在开发环境或生产环境中时能有不同的行为,例如,在开发环境如果程序能输出详细的错误信息将非常有用,但是在生产环境这将造成一些安全问题。

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 的情况时相当有用。这在 配置类 文档中的“环境”一节有着更详细的介绍。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值