Ghi nhật ký tất cả các truy vấn SQL trong WordPress

Khi phát triển website và hay fix bug WordPress tôi hay bật toàn bộ debug lên và cả bật các SQL queries lên để xem có vấn đề nào cần được giải quyết hay không, trong bài viết trước đó tôi đã hướng dẫn cách để bạn lên và bạn có thể xem qua bài viết

Trong bài viết này tôi sẽ share 1 đoạn code để chúng lưu lại toàn bộ SQL queries mà website của bạn đã thực hiện theo thời gian thực.

Ghi nhật ký tất cả các truy vấn SQL trong WordPress

Để lưu log toàn bộ SQL queries trước tiên bạn phải thêm code này vào file wp-config.php, file wp-config.php nằm ở đâu thì bạn có thể xem tại

define('SAVEQUERIES', true);

Tiếp theo bạn hãy thêm code phía dưới vào file functions.php nhé.

Các truy vấn được truy cập bằng cách sử dụng class $wpdb, bạn có thể thêm mã để kết xuất các truy vấn này vào tệp nhật ký hoặc hiển thị chúng cho mục đích gỡ lỗi.

add_action( 'shutdown', function() {
    global $wpdb;
    if ( current_user_can( 'administrator' ) ) {
        $log_file = ABSPATH . '/wp-content/debug_sql.log';
        $log = print_r( $wpdb->queries, true );
        file_put_contents( $log_file, $log, FILE_APPEND );
    }
});

Hàm current_user_can( 'administrator' ) sẽ chỉ ghi các query khi quản trị viên login vào website, tuỳ theo sự linh động của công việc bạn có thể xoá hoặc code điều kiện ghi log cho phù hợp.

Đoạn mã này sẽ nối thêm tất cả các truy vấn được thực hiện trong quá trình tải trang vào một tệp có tên debug_sql.log nằm trong thư mục wp-content. Bạn nên kiểm tra xem thư mục wp-content có thể ghi được không nha.

Sau khi thêm code kia vào file functions.php thì bạn có thể mở ra 1 url website của bạn để test

Lưu ý code này chỉ dành cho mục đích phát triển vì file log sẽ tăng size lên nhanh chóng và bạn cần xoá chúng khi đã giải quyết được vấn đề hoặc tìm ra cái bạn đã muốn.

Nếu bạn thấy bài viết có ích hãy sao chép link và chia sẻ bài viết
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, dịch vụ quảng cáo Google, quảng cáo Facebook, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan