# 處理多環境
開發者常常希望當系統運行在開發環境或生產環境中時能有不同的行為, 譬如,在開發環境如果程序能輸出詳細的錯誤信息將非常有用,但是在 生產環境這將造成一些安全問題。
## 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](https://httpd.apache.org/docs/2.2/mod/mod_env.html#setenv)?命令進行設置,Nginx 或其他 Web 服務器也有類似的設置方法。 或者你可以直接刪掉這個邏輯,根據服務器的 IP 地址來設置該常量。
使用這個常量,除了會影響到一些基本的框架行為外(見下一節), 你還可以在開發過程中使用它來區分當前運行的是什么環境。
## 對默認框架行為的影響
CodeIgniter 系統中有幾個地方用到了 ENVIRONMENT 常量。這一節將描述 它對框架行為有哪些影響。
### 錯誤報告
如果將 ENVIRONMENT 常量設置為 'development' ,當發生 PHP 錯誤時錯誤信息會顯示到瀏覽器上。與之相對的,如果將常量設置為 'production' 錯誤輸出則會被禁用。在生產環境禁用錯誤輸出是個?[不錯的安全實踐](http://codeigniter.org.cn/user_guide/general/security.html)。
### 配置文件
另外,CodeIgniter 還可以根據不同的環境加載不同的配置文件, 這在處理譬如不同環境下有著不同的 API key 的情況時相當有用。 這在?[配置類](http://codeigniter.org.cn/user_guide/libraries/config.html)?文檔中的“環境”這一節 有著更詳細的介紹。
- 歡迎使用 CodeIgniter
- 安裝說明
- 下載 CodeIgniter
- 安裝說明
- 從老版本升級
- 疑難解答
- CodeIgniter 概覽
- CodeIgniter 將從這里開始
- CodeIgniter 是什么?
- 支持特性
- 應用程序流程圖
- 模型-視圖-控制器
- 設計與架構目標
- 教程 - 內容提要
- 加載靜態內容
- 讀取新聞條目
- 創建新聞條目
- 結束語
- 常規主題
- CodeIgniter URL
- 控制器
- 保留名稱
- 視圖
- 模型
- 輔助函數
- 使用 CodeIgniter 類庫
- 創建類庫
- 使用 CodeIgniter 驅動器
- 創建驅動器
- 創建核心系統類
- 創建附屬類
- 鉤子 - 擴展框架核心
- 自動加載資源
- 公共函數
- 兼容性函數
- URI 路由
- 錯誤處理
- 網頁緩存
- 程序分析
- 以 CLI 方式運行
- 管理你的應用程序
- 處理多環境
- 在視圖文件中使用 PHP 替代語法
- 安全
- PHP 開發規范
- 類庫參考
- 基準測試類
- 緩存驅動器
- 日歷類
- 購物車類
- 配置類
- Email 類
- 加密類
- 加密類(新版)
- 文件上傳類
- 表單驗證類
- FTP 類
- 圖像處理類
- 輸入類
- Javascript 類
- 語言類
- 加載器類
- 遷移類
- 輸出類
- 分頁類
- 模板解析類
- 安全類
- Session 類
- HTML 表格類
- 引用通告類
- 排版類
- 單元測試類
- URI 類
- 用戶代理類
- XML-RPC 與 XML-RPC 服務器類
- Zip 編碼類
- 數據庫參考
- 數據庫快速入門: 示例代碼
- 數據庫配置
- 連接你的數據庫
- 查詢
- 生成查詢結果
- 查詢輔助函數
- 查詢構造器類
- 事務
- 數據庫元數據
- 自定義函數調用
- 數據庫緩存類
- 數據庫工廠類
- 數據庫工具類
- 數據庫驅動器參考
- 輔助函數參考
- 數組輔助函數
- 驗證碼輔助函數
- Cookie 輔助函數
- 日期輔助函數
- 目錄輔助函數
- 下載輔助函數
- 郵件輔助函數
- 文件輔助函數
- 表單輔助函數
- HTML 輔助函數
- 語言輔助函數
- Inflector 輔助函數
- 數字輔助函數
- 路徑輔助函數
- 安全輔助函數
- 表情輔助函數
- 字符串輔助函數
- 文本輔助函數
- 排版輔助函數
- URL 輔助函數
- XML 輔助函數
- 向 CodeIgniter 貢獻你的力量