CodeIgniter - Xử lý lỗi

Nhiều lần, trong khi sử dụng ứng dụng, chúng tôi gặp lỗi. Sẽ rất khó chịu cho người dùng nếu các lỗi không được xử lý đúng cách. CodeIgniter cung cấp cơ chế xử lý lỗi dễ dàng.

Bạn muốn các thông báo được hiển thị khi ứng dụng đang ở chế độ đang phát triển thay vì ở chế độ sản xuất vì các thông báo lỗi có thể được giải quyết dễ dàng ở giai đoạn đang phát triển.

Có thể thay đổi môi trường ứng dụng của bạn bằng cách thay đổi dòng dưới đây từ index.phptập tin. Điều này có thể được đặt thành bất kỳ thứ gì nhưng thông thường có ba giá trị (phát triển, thử nghiệm, sản xuất) được sử dụng cho mục đích này.

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

Môi trường khác nhau sẽ yêu cầu các mức báo cáo lỗi khác nhau. Theo mặc định, chế độ phát triển sẽ hiển thị lỗi và kiểm tra và chế độ trực tiếp sẽ ẩn chúng. CodeIgniter cung cấp ba chức năng như hình bên dưới để xử lý lỗi.

  • show_error() chức năng hiển thị lỗi ở định dạng HTML ở đầu màn hình.

Syntax

show_error ( $ message, $ status_code, $ header = 'Đã gặp lỗi' )

Parameters

  • $message( hỗn hợp ) - Thông báo lỗi

  • $status_code( int ) - Mã trạng thái phản hồi HTTP

  • $heading( chuỗi ) - Tiêu đề trang lỗi

Return Type

Trộn
  • show_404() chức năng hiển thị lỗi nếu bạn đang cố gắng truy cập một trang không tồn tại.

Syntax

show_404 ( $ page = '', $ log_error = TRUE )

Parameters

  • $page( chuỗi ) - Chuỗi URI

  • $log_error( bool ) - Có ghi lại lỗi không

Return Type

vô hiệu
  • log_message()chức năng được sử dụng để viết thông báo nhật ký. Điều này hữu ích khi bạn muốn viết tin nhắn tùy chỉnh.

Syntax

log_message ( $ level, $ message, $ php_error = FALSE )

Parameters

  • $level( chuỗi ) - Mức nhật ký: 'lỗi', 'gỡ lỗi' hoặc 'thông tin'

  • $message( chuỗi ) - Thông báo ghi nhật ký

  • $php_error( bool ) - Cho dù chúng tôi đang ghi lại một thông báo lỗi PHP gốc

Return Type

vô hiệu

Đăng nhập có thể được kích hoạt trong application/config/config.phptập tin. Dưới đây là ảnh chụp màn hình của tệp config.php, nơi bạn có thể đặt giá trị ngưỡng.

/*
|--------------------------------------------------------------------------------
|   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;

Bạn có thể tìm thấy các thông báo đăng nhập application/log/. Đảm bảo rằng thư mục này có thể ghi được trước khi bạn bật tệp nhật ký.

Có thể tìm thấy nhiều mẫu thông báo lỗi khác nhau trong application/views/errors/cli hoặc là application/views/errors/html.