Để chỉ cần đặt một dòng trong nhật ký lỗi của máy chủ, hãy sử dụng hàm error_log () của PHP. Tuy nhiên, phương pháp đó sẽ không gửi e-mail.
Đầu tiên, để kích hoạt lỗi:
trigger_error("Error message here", E_USER_ERROR);
Theo mặc định, điều này sẽ đi vào tệp nhật ký lỗi của máy chủ. Xem chỉ thị ErrorLog cho Apache. Để đặt tệp nhật ký của riêng bạn:
ini_set('error_log', 'path/to/log/file');
Lưu ý rằng tệp nhật ký bạn chọn phải đã tồn tại và có thể ghi được bởi quy trình máy chủ. Cách đơn giản nhất để làm cho tệp có thể ghi là đặt người dùng máy chủ làm chủ sở hữu của tệp. (Người dùng máy chủ có thể không là ai, _www, apache hoặc thứ gì khác, tùy thuộc vào phân phối hệ điều hành của bạn.)
Để gửi e-mail lỗi, bạn cần thiết lập trình xử lý lỗi tùy chỉnh:
function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message); // writes the error to the log file
mail('you@yourdomain.com', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
Vui lòng xem tài liệu PHP liên quan để biết thêm thông tin.