
- CodeIgniter 教程
- CodeIgniter - 首頁
- CodeIgniter - 概述
- CodeIgniter - 安裝 CodeIgniter
- CodeIgniter - 應用程式架構
- CodeIgniter - MVC 框架
- CodeIgniter - 基本概念
- CodeIgniter - 配置
- CodeIgniter - 使用資料庫
- CodeIgniter - 庫
- CodeIgniter - 錯誤處理
- CodeIgniter - 檔案上傳
- CodeIgniter - 傳送郵件
- CodeIgniter - 表單驗證
- CodeIgniter - 會話管理
- CodeIgniter - Flashdata
- CodeIgniter - Tempdata
- CodeIgniter - Cookie 管理
- CodeIgniter - 常用函式
- CodeIgniter - 頁面快取
- CodeIgniter - 頁面重定向
- CodeIgniter - 應用程式分析
- CodeIgniter - 基準測試
- CodeIgniter - 新增 JS 和 CSS
- CodeIgniter - 國際化
- CodeIgniter - 安全性
- CodeIgniter 有用資源
- CodeIgniter - 快速指南
- CodeIgniter - 有用資源
- CodeIgniter - 討論
CodeIgniter - 錯誤處理
很多時候,在使用應用程式時,我們會遇到錯誤。如果錯誤沒有得到妥善處理,對使用者來說是非常惱人的。CodeIgniter 提供了一種簡單的錯誤處理機制。
您希望在應用程式處於開發模式而不是生產模式時顯示這些訊息,因為錯誤訊息可以在開發階段輕鬆解決。
可以透過更改以下 index.php 檔案中的行來更改應用程式的環境。這可以設定為任何值,但通常為此目的使用三個值(開發、測試、生產)。
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
不同的環境需要不同級別的錯誤報告。預設情況下,開發模式將顯示錯誤,而測試和生產模式將隱藏它們。CodeIgniter 提供瞭如下所示的三個函式來處理錯誤。
show_error() 函式以 HTML 格式在螢幕頂部顯示錯誤。
語法 |
show_error($message, $status_code, $heading = 'An Error Was Encountered') |
引數 |
|
返回值型別 |
混合 |
show_404() 函式在您嘗試訪問不存在的頁面時顯示錯誤。
語法 |
show_404($page = '', $log_error = TRUE) |
引數 |
|
返回值型別 |
空 |
log_message() 函式用於寫入日誌訊息。當您想要編寫自定義訊息時,這很有用。
語法 |
log_message($level, $message, $php_error = FALSE) |
引數 |
|
返回值型別 |
空 |
可以在 application/config/config.php 檔案中啟用日誌記錄。以下是 config.php 檔案的螢幕截圖,您可以在其中設定閾值。
/* |-------------------------------------------------------------------------------- | Error Logging Threshold |-------------------------------------------------------------------------------- | You can enable error logging by setting a threshold over zero. The | threshold determines what gets logged. Threshold options are: | | 0 = Disable logging, Error logging TURNED OFF | 1 = Error Message (including PHP errors) | 2 = Debug Message | 3 = Informational Messages | 4 = All Messages | | You can also pass an array with threshold levels to show individual error types | | array(2) = Debug Message, without Error Messages | For a live site you'll usually only enable Errors (1) to be logged otherwise | your log files will fill up very fast. | */ $config['log_threshold'] = 0;
您可以在 application/log/ 中找到日誌訊息。在啟用日誌檔案之前,請確保此目錄可寫。
可以在 application/views/errors/cli 或 application/views/errors/html 中找到各種錯誤訊息模板。