Hướng dẫn dùng error_log trong PHP

Cú pháp

Hàm error_log[] trong PHP có cú pháp như sau:

bool error_log [ string $message [, int $message_type [, string $destination [, string $extra_headers]]] ]

Định nghĩa và cách sử dụng

Hàm này gửi một error message tới error log của Web Server, một cổng TCP hoặc tới một file.

Tham số

Tham sốMiêu tả
message Error message mà nên được log
message_type

Nơi lỗi có thể tới. Các kiểu thông báo là:

  • 0 − Mặc định. Lỗi được gửi tới hệ thống log của Server hoặc một file, phụ thuộc vào cầu hình error_log được thiết lập trong php.ini file

  • 1 − Lỗi được gửi bởi email tới địa chỉ trong tham số destination. Kiểu thông báo này sử dụng tham số headers

  • 2 − Lỗi được gửi thông qua kết nối PHP debugging. Tùy chọn này chỉ có sẵn trong PHP 3

  • 3 − Lỗi được thêm vào tới chuỗi file đích đến

destination Đích đến của lỗi. Ý nghĩa của nó phụ thuộc vào tham số message_type được miêu tả ở trên
extra_headers Nó được sử dụng khi tham số message_type được thiết lập là 1. Kiểu thông báo này sử dụng cùng hàm nội tại như hàm mail[]

Quảng cáo

Trả về giá trị

Trả về TRUE nếu thành công, và FALSE nếu thất bại.

Ví dụ

Ví dụ sau minh họa cách sử dụng của hàm error_log[] trong PHP:

 

Quảng cáo

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn ở Hà Nội có thể tham gia khóa học thứ 9 của vietjackteam [đang tuyển sinh] vào cuối tháng 10/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng. Khóa online= Đi phỏng vấn, Khóa offline= Đi phỏng vấn+ 1.5 tháng thực tập ngoài doanh nghiệp.

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Từ tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 250k cho khóa học, các bạn có thể trả lại tiền nếu không hài lòng về chất lượng trong 1 tháng, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại Khóa học Java Online trên Udemy

Follow fanpage của team //www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền //www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học PHP phổ biến khác tại VietJack:

  • PHP - Cú pháp
  • PHP - Các kiểu biến
  • PHP - Hằng [Constant]
  • PHP - Toán tử
  • PHP - Lệnh if, else, switch

tong_hop_ham_trong_php.jsp

Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Cú pháp

Hàm error_log[] trong PHP có cú pháp như sau:

Nội dung chính

  • Định nghĩa và cách sử dụng
  • Trả về giá trị
  • 1. Sử dụng hàm die[] và exit[] trong PHP
  • 1.1. Hàm die[] trong PHP
  • 1.2. Hàm exit[] trong PHP
  • 2. Tùy chỉnh xử lý lỗi [custom error handler] trong PHP
  • 3. Hàm trigger_error[] trong PHP
  • 4. Hàm error_log[] trong PHP

bool error_log [ string $message [, int $message_type [, string $destination [, string $extra_headers]]] ]

Định nghĩa và cách sử dụng

Hàm này gửi một error message tới error log của Web Server, một cổng TCP hoặc tới một file.

Tham số

Tham sốMiêu tả
message Error message mà nên được log
message_type

Nơi lỗi có thể tới. Các kiểu thông báo là:

  • 0 − Mặc định. Lỗi được gửi tới hệ thống log của Server hoặc một file, phụ thuộc vào cầu hình error_log được thiết lập trong php.ini file

  • 1 − Lỗi được gửi bởi email tới địa chỉ trong tham số destination. Kiểu thông báo này sử dụng tham số headers

  • 2 − Lỗi được gửi thông qua kết nối PHP debugging. Tùy chọn này chỉ có sẵn trong PHP 3

  • 3 − Lỗi được thêm vào tới chuỗi file đích đến

destination Đích đến của lỗi. Ý nghĩa của nó phụ thuộc vào tham số message_type được miêu tả ở trên
extra_headers Nó được sử dụng khi tham số message_type được thiết lập là 1. Kiểu thông báo này sử dụng cùng hàm nội tại như hàm mail[]

Quảng cáo

Trả về giá trị

Trả về TRUE nếu thành công, và FALSE nếu thất bại.

Ví dụ

Ví dụ sau minh họa cách sử dụng của hàm error_log[] trong PHP:

 

Quảng cáo

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn ở Hà Nội có thể tham gia khóa học thứ 9 của vietjackteam [đang tuyển sinh] vào cuối tháng 10/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng. Khóa online= Đi phỏng vấn, Khóa offline= Đi phỏng vấn+ 1.5 tháng thực tập ngoài doanh nghiệp.

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Từ tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 250k cho khóa học, các bạn có thể trả lại tiền nếu không hài lòng về chất lượng trong 1 tháng, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại Khóa học Java Online trên Udemy

Follow fanpage của team //www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền //www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học PHP phổ biến khác tại VietJack:

  • PHP - Cú pháp
  • PHP - Các kiểu biến
  • PHP - Hằng [Constant]
  • PHP - Toán tử
  • PHP - Lệnh if, else, switch

tong_hop_ham_trong_php.jsp

Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Trong bài này, chúng ta sẽ tìm hiểu về cách xử lý lỗi [error] trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Nội dung chính

  • 1. Sử dụng hàm die[] và exit[] trong PHP
  • 1.1. Hàm die[] trong PHP
  • 1.2. Hàm exit[] trong PHP
  • 2. Tùy chỉnh xử lý lỗi [custom error handler] trong PHP
  • 3. Hàm trigger_error[] trong PHP
  • 4. Hàm error_log[] trong PHP

1. Sử dụng hàm die[] và exit[] trong PHP

1.1. Hàm die[] trong PHP

Hàm die[] giúp in thông báo lỗi và không làm dừng chương trình. Cú pháp của hàm die[]:

die[$message];

Ví dụ, đoạn code mở file bên dưới sẽ bị lỗi vì không tồn tại file gochocit.txt.


Kết quả
Warning: fopen[gochocit.txt]: Failed to open stream: No such file or directory in C:\xampp\htdocs\gochocit\index.php on line 2

Chúng ta có thể ngăn lỗi bằng cách kiểm tra file có tồn tại hay không và sử dụng hàm die[] để đưa ra thông báo về lỗi.


Kết quả
File is not exist!

1.2. Hàm exit[] trong PHP

Hàm exit[] trong PHP giúp xuất một thông báo và kết thúc [thoát] script hiện tại. Cú pháp:

exit[string $status = ?]: void
exit[int $status]: void

Nếu status là một string thì sẽ in ra thông báo trước khi thoát. Nếu status là kiểu int [từ 0 đến 254] thì sẽ không in gì cả và thoát.


2. Tùy chỉnh xử lý lỗi [custom error handler] trong PHP

Khi một lỗi xảy ra, chúng ta có thể tùy chỉnh xử lý lỗi và thông báo lỗi. Để làm việc này, chúng ta cần định nghĩa một hàm xử lý lỗi với cú pháp như sau:

error_function[$error_level, $error_message, $error_file, $error_line, $error_context]

Trong đó,

    • error_function là tên hàm. Các bạn có thể đặt lại tên hàm tùy ý miễn sao đúng theo quy tắt tên định danh [identifier] trong PHP.
    • $error_level: Đây là tham số bắt buộc, phải là kiểu integer. Tham số này là những error constants được định nghĩa trước.
    • $error_message: Đây là tham số bắt buộc. Tham số này thông báo lỗi mà chúng ta muốn in ra.
    • $error_file: Đây là tham số tùy chọn, có thể có hoặc không. Tham số này được sử dụng để xác định tên file mà lỗi xảy ra.
    • $error_line: Đây là tham số tùy chọn, có thể có hoặc không. Tham số này được sử dụng để xác định số dòng mà lỗi xảy ra.
    • $error_context: Đây là tham số tùy chọn, có thể có hoặc không. Tham số này được sử dụng để xác định một mảng bao gồm các biến và giá trị của chúng khi lỗi xảy ra.

Khi lỗi xảy ra, PHP sẽ tự xử lý lỗi theo cách của nó. Chúng ta cần sử dụng hàm set_error_handler[] để thiết lập tùy chỉnh xử lý lỗi theo ý của mình. Cú pháp của hàm set_error_handler[]:

set_error_handler["error_function"];

với error_function là tên của hàm xử lý lỗi mà chúng ta tự định nghĩa.


Kết quả
Error: [2]: Undefined variable $test in C:\xampp\htdocs\gochocit\index.php at line 9

3. Hàm trigger_error[] trong PHP

Có những trường hợp, người dùng nhập những giá trị không hợp lệ. Chúng ta có thể sử dụng hàm trigger_error[] để thông báo lỗi.


Chúng ta cũng có thể sử dụng hàm trigger_error[] với tùy chỉnh xử lý lỗi. Ví dụ:


Kết quả
Error: [512]: Value must be 1 or below in C:\xampp\htdocs\gochocit\index.php at line 14

4. Hàm error_log[] trong PHP

Mặc định, PHP sẽ gửi error logs [có thể gọi là nhật ký lỗi] đến hệ thống ghi log trên server hoặc một file nào đó. Việc này tùy thuộc vào cấu hình error_log trong file php.ini. Nhưng nếu sử dụng hàm error_log[] có thể giúp chúng ta gửi error logs đến nơi mà chúng ta cần lưu trữ. Ví dụ, chúng ta muốn ghi error logs đến vào my-errors.log trong PHP.


Hàm error_log[] có thể giúp gửi error logs đến mail hoặc một file nào khác. Các bạn có thể tham khảo thêm tại error_log PHP.

  • Sửa [update] dữ liệu và câu lệnh drop trong MySQL với Python
  • Đọc [read] file JSON với Python
  • Các kiểu dữ liệu cơ bản và kiểu chuỗi [String] trong Java
  • Các thành viên hằng [final] và tĩnh [static] của lớp trong Java
  • Hàm is_array[] trong PHP

Chủ Đề