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 的情况时相当有用。

php CodeIgniter处理多环境错误级别配置的更多相关文章

  1. ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)

    php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...

  2. java log4j基本配置及日志级别配置详解

    java log4j日志级别配置详解 1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis.rabbitMQ.SSM框架的相关面试题以及自己做过的一些项目回顾 ...

  3. PHP 基础篇 - PHP 错误级别详解

    一.前言 最近经常看到工作 2 年左右的童鞋写的代码也会出现以静态方法的形式调用非静态方法,这是个 Deprecated 级别的语法错误,代码里不应该出现的.对方很郁闷,说:为什么我的环境可以正常运行 ...

  4. PHP面试 PHP基础知识 十一(开发环境及相关配置)

    开发环境及相关配置 版本控制软件 集中式和分布式 集中式:集中式版本控制工具,版本库集中存放在中央服务器,团队成员里的每个人工作时从中央服务器下载代码,个人修改后再提交到中央服务器 分布式:分布式版本 ...

  5. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  6. Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例

    看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...

  7. java 环境变量java_home配置多加了 \ 导致zookeeper莫名其妙问题。

    平时开发其实不太用得到java_home.path.classpath之类的环境变量,但是在命令行下运行java则需要用上,所以配错就可能出现莫名其妙错误. 错误JAVA_HOME 配置:D:\Pro ...

  8. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  9. php的错误级别

    error_reporting() 用于设置 PHP 的报错级别并返回当前级别.(PHP 4, PHP 5) 函数能够在运行时设置 error_reporting 指令. PHP 有诸多错误级别,使用 ...

随机推荐

  1. POJ1528问题解答

    #include <iostream>#include <cstdio>#include <cmath> #include <string>#inclu ...

  2. 使用dd工具对磁盘RAID5和10进行I/O性能测试

    很多情况下大家在对于理论深信不疑,理论是有前提条件的,不是所有的情况下都是正确的.恰逢公司有服务器,故进行了磁盘性能测试,当然测试的结果也只是顺序I/O性能测试(dd机制决定的). 前提条件:(DEL ...

  3. python使用zlib实现压缩与解压字符串

    命令 字符串:使用zlib.compress可以压缩字符串.使用zlib.decompress可以解压字符串. 数据流:压缩:compressobj,解压:decompressobj 案例 >& ...

  4. CDB中plug PDB

    CDB中plug PDB 先决条件: ·CDB要能够访问之前被unplugged 的pdb的xml文件.如果不能访问,需要使用dbms_pdb.recover创建一个xml文件 ·CDB要能够访问到该 ...

  5. Java基础之读文件——使用通道读取混合数据2(ReadPrimesMixedData2)

    控制台程序,本例读取Java基础之写文件部分(PrimesToFile2)写入的Primes.txt. 方法二:设置一个任意容量的.大小合适的字节缓冲区并且使用来自文件的字节进行填充.然后整理出缓冲区 ...

  6. [c++基本语法]——构造函数初始化列表

    c++构造函数初始化成员变量列表: #pragma once class Node { public: int data; // 权值 Node *parent; // 父节点 Node *left; ...

  7. PostgreSQL Cascade Replication

    PostgreSQL Cascade Replication node1:master:10.2.208.10:repclia(user) node2:upstreamnode:10.2.208.11 ...

  8. SLF4简介

    The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logg ...

  9. codevs 2235 机票打折

    http://codevs.cn/problem/2235/ 2235 机票打折  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 青铜 Bronze 题解       题目描述  ...

  10. sql over开窗函数,

    sql over开窗函数, 1.使用over子句与rows_number()以及聚合函数进行使用,可以进行编号以及各种操作.而且利用over子句的分组效率比group by子句的效率更高. 2.在订单 ...