Kiểm tra lỗi trong Wordpress với WP_DEBUG

Thảo luận trong 'Wordpress' bắt đầu bởi babyinternet, 18/7/15.

  1. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,656
    Đã được thích:
    1,581
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Kiểm tra lỗi(debug) trong Wordpress là một phần công việc trong xây dựng dự án trên nền tảng wordpress. Theo mặc định, Wordpress sẽ không kích hoạt tính năng này, muốn chuyển qua chế độ debug để có thể kiểm tra lỗi và tính tương thích của hệ thống theme, plugin hay ngay cả chính Wordpress bạn cần phải tự kích hoạt nó lên.

    Đáng tiếc là tính năng này không được nhiều người biết đến hoặc sử dụng nên nhiều lúc hệ thống liên tục mắc lỗi mà người quản trị hệ thống không hề hay biết. Một vài thay đổi nho nhỏ trong file wp-config.php sẽ giúp bạn debug lỗi trong Wordpress một cách dễ dàng. Bạn có thể thử để xem hệ thống mình có mắc lỗi gì không ngay bây giờ.


    [​IMG]

    Kích hoạt chế độ debug trong Wordpress

    Để kích hoạt chế độ debug trong Wordpress bạn thêm dòng sau vào file wp-config.php

    PHP:
    define('WP_DEBUG'true);
    Nếu muốn tắt chế độ này, bạn chỉ cần thay true bằng false là được.

    Chúng ta cũng lưu ý là giá trị truefalse không đặt trong dấu ngoặc kép(") hoặc ngoặc đơn(') bởi vì nó là giá trị boolean. Tính năng này cũng chỉ nên được kích hoạt trong quá trình bạn kiểm tra lỗi khi cài đặt hoặc chỉnh sửa, không nên kích hoạt khi website đang chạy thực tế bởi nếu có lỗi website của bạn sẽ đồng nghĩa với việc nhiều người phát hiện ra lỗi chứ không chỉ mình bạn.


    Đồng thời, việc kích hoạt này cũng sẽ gây ra các lỗi cho php nếu có tồn tại và hiển thị ra trình duyệt web, bao gồm cả PHP Errors, Warnings, và Notices. Dĩ nhiên, việc hiển thị lỗi này sẽ giúp bạn phát hiện lỗi và khắc phục nó.


    WP_DEBUG_LOG

    Tính năng này cũng đi kèm với cấu hình debug ở trên, nó cho phép bạn ghi lại nhật ký lỗi vào file /wp-content/debug.log giúp bạn xem lai các lỗi hệ thống trong quá trình vận hành nhằm hỗ trợ việc sửa lỗi dễ dàng hơn. Việc này là rất hữu ích vì có những thứ Wordpress chạy nhầm bên dưới hệ thống và bạn không thể quan sát nó bằng mắt thường được (một đoạn Ajax chạy ngầm bên dưới chẳng hạn)


    Chúng ta kích hoạt debug log bằng cách thêm vào dòng lệnh sau trong file wp-config.php

    PHP:
    define('WP_DEBUG_LOG'true);
    WP_DEBUG_DISPLAY

    Đồng hành với WP_DEBUG, tùy chọn tính năng này cho phép bạn điều khiển việc xuất dữ liệu ra màn hình hay không. Ví dụ, bạn đang chạy một website và có hàng chục, hàng trăm người truy cập và bạn cần kiểm tra hệ thống này nhưng không muốn hiển thị dữ liệu lỗi ra màn hình gây ảnh hưởng thành viên.

    Chúng ta kích hoạt việc không hiển thị dữ liệu ra màn hình bằng đoạn mã sau:

    PHP:
    define('WP_DEBUG_DISPLAY'false);
    Muốn hiển thị, dĩ nhiên chúng ta chuyển từ false sang true là xong.

    SCRIPT_DEBUG

    Hằng số này được sử dụng để kiểm tra các đoạn mã js, CSS được nạp vào trang khi xử lý. Bạn chỉ có thể kiểm tra nó ở chế độ nhà phát tiển (dev), bạn không thể kiểm tra nó với phiên bản rút gọn của mã (minified). Sử dụng nó rất hữu ích nếu như bạn đang viết thêm mã javascript trong hệ thống.

    Chúng ta sử dụng nó như sau:

    PHP:
    define('SCRIPT_DEBUG'true);


    SAVEQUERIES

    Nếu bạn muốn kiểm tra những query truy xuất dữ liệu trong Wordpress thì đây là thông số tuyệt vời để làm việc đó. Chúng sẽ lưu tất cả các truy vấn dữ liệu vào một mảng cho phép bạn đọc lại và phân tích các truy vấn này để tối ưu tốt hơn. Thông tin được lưu rất hữu ích như truy vấn này mất bao lâu để thực thi xong và function nào đã gọi nó thực thi.

    Cách sử dụng:

    PHP:
    define('SAVEQUERIES'true);
    Tổng hợp

    Những gì tôi đã nói ở trên là những thông số mà bạn có thể cấu chỉnh trong wp-config.php để kích hoạt chế độ debug nhằm kiểm tra lỗi trong Wordpress dễ dàng hơn, thuận tiện hơn. Một cách tổng thể, chúng ta có thể thêm vào đoạn mã sau:

    PHP:
    // Bật tính năng debug
    define('WP_DEBUG'true);

    // Ghi log debug vào /wp-content/debug.log 
    define('WP_DEBUG_LOG'true);

    // Hiển thị lỗi và các warning
    define('WP_DEBUG_DISPLAY'false); //Không hiển thị lỗi
    @ini_set('display_errors',0); //Trong trường hợp thông số trên không thực thi, chúng ta "ép" hệ thống thực thi bằng các cấu hình lại PHP

    // Sử dụng cho phiên bản dev khi debug.
    define('SCRIPT_DEBUG'true);
    Ở trên tôi đã trình bày cho bạn toàn bộ các hằng số giúp debug dữ liệu của mình trong Wordpress. Bây giờ, nếu như bạn chưa debug xem hệ thống của mình có lỗi lần nào thì bạn có thể sử dụng các thông số trên để kiểm tra ngay bây giờ.

    Nếu có lỗi, hãy đăng nó lên đây nếu bạn không thể fix được. Tôi sẽ xem có thể hỗ trợ bạn chút nào được không.

    Chúc một ngày tốt lành khi bạn tham gia vnwebmaster.com :byebye:
     
    Last edited by a moderator: 18/7/15
  2. sea031282

    sea031282 Đang làm quen

    Tham gia ngày:
    26/2/14
    Bài viết:
    314
    Đã được thích:
    0
    Điểm thành tích:
    16
    Mình có trang web là inanquangcaoviet.vn bị lỗi cũng chạy trên wp không biết bạn có giúp mình phát hiện lỗi được không.
     
  3. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,656
    Đã được thích:
    1,581
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Bạn có thể quăng cái log lên đây xem mình giúp được gì không .
     
  4. tahuuson

    tahuuson Đang làm quen

    Tham gia ngày:
    23/5/13
    Bài viết:
    35
    Đã được thích:
    0
    Điểm thành tích:
    6
    Nơi ở:
    https://maylamtoidensunca.blogspot.com/
    e làm theo a rồi nhưng sao vãn ko thấy file log hiện trong wp-content , hay phải đợi nó có lỗi mới tự tạo dc
     
  5. duongtuan100527

    duongtuan100527 Lính mới

    Tham gia ngày:
    8/3/14
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    lâu nay làm mà quên để ý, cảm ơn bài viết hữu ích, nếu cần kiểm tra lỗi từng file thì làm sao nhĩ, không rành code mấy
     
  6. dangthinh123

    dangthinh123 Lính mới

    Tham gia ngày:
    30/11/18
    Bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Nơi ở:
    Hồ Chí Minh
Đang tải...

Chia sẻ trang này