Hiển thị các bài đăng có nhãn Error ghi file. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Error ghi file. Hiển thị tất cả bài đăng

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