Thứ Năm, 9 tháng 11, 2017

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

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ị true  false 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:

Next

Related