Chủ Nhật, 1 tháng 11, 2026

Debug Ghi Lỗi trong File

Cách 1: có file php-error.log sẵn trên server


 if (!function_exists('vb_debug')) {

    function vb_debug($msg){

        // Đường dẫn tới public_html/php-error.log

        $file = $_SERVER['DOCUMENT_ROOT'].'/php-error.log';

        @error_log(date('Y-m-d H:i:s').' '.$msg."\n", 3, $file);

    }

}

$today   = date('Y-m-d');

$tag       = 'SPMODE userid='.$userid.' level='.$userlevel.' today='.$today.' => ';

vb_debug($tag.'ROW begin='.$begin.' end='.$end);

Cách 1: chưa có file php-error.log trên server

if (!function_exists('vb_debug')) {

    function vb_debug($msg){

        $root = !empty($_SERVER['DOCUMENT_ROOT']) ? rtrim($_SERVER['DOCUMENT_ROOT'], '/\\') : dirname(__FILE__);

        $file = $root . '/php-error.log';

        // Chưa có file thì tạo

        if (!file_exists($file)) {

            if (@file_put_contents($file, '') === false) {

                return false;   // không tạo được: thư mục không có quyền ghi

            }

            @chmod($file, 0644);

        }

        if (!is_writable($file)) return false;

        return @error_log(date('Y-m-d H:i:s') . ' ' . $msg . "\n", 3, $file);

    }

}

===> Ghi lỗi

$tag   = 'SPMODE userid='.$userid.' level='.$userlevel.' today='.$today.' => ';

vb_debug($tag.'STOP: SQL error');

## Ghi Nhận Code và chức năng của hàm ##

Số 3 là kiểu ghi của hàm error_log():
Số  Ý nghĩa:
0   Ghi vào log mặc định của PHP
1   Gửi qua email
3   Ghi nối tiếp (append) vào file chỉ định ở tham số thứ 3
4   Gửi thẳng vào SAPI logger

Không có nhận xét nào:

Đăng nhận xét