# 處理多環境
開發者常常希望當系統運行在開發環境或生產環境中時能有不同的行為, 例如,在開發環境如果程序能輸出詳細的錯誤信息將非常有用,但是在 生產環境這將造成一些安全問題。
# 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 類
- 語言類
- 加載器類