Để quản lý một trang web thì không hề dễ dàng một chút nào, khi có nhiều vấn đề phát sinh và phải đối diện với các lỗi hay mắc phải. Điều đó ảnh hưởng khá nghiêm trọng đến hoạt động của website, nặng hơn là không thể truy cập vào được. Chính vì vậy mà WordPress Debug là một giải pháp quan trọng phải đòi hỏi người quản trị cần có những kiến thức, cũng như độ hiểu biết cao. Qua đó có thể giải quyết được những lỗi của plugin nhanh chóng và dễ dàng. Vậy Debug là gì? Hãy cùng Mẫu Website 24h tìm hiểu ngay qua bài viết dưới đây nhé.
Debug là gì?
Debug – Debugging là tiến hành loại bỏ bugs hay xác định các lỗi có trong code được thực hiện khi có nhu cầu. Đây là bước cuối cùng của quá trình debug – sẽ tiến hành kiểm tra code đã đúng, chuẩn xác và đảm bảo không có sự cố không mong muốn có khả năng xảy ra hay chưa. Đây là công việc mà các lập trình viên phải thực hiện với các công cụ để debug chuyên dụng. Công đoạn này là giai đoạn không thể thiếu trong việc phát triển phần mềm, ứng dụng hay website theo nhu cầu sử dụng thực tế của con người.
Thông thường, các chiến lược trong quá trình debug được thực hiện bao gồm có unit test, preview code và cuối cùng là pair programming. Các nhà phát triển sẽ cố gắng để có thể tìm ra được mọi vấn đề, sau đó tiến hành cô lập và điều chỉnh, trước khi tiến hành code hay phần mềm được publish cho người dùng. Nó giúp sản phẩm cuối cùng đưa vào sử dụng là chất lượng và hoàn hảo nhất. Xem thêm về Quy trình kiểm thử website
Tầm quan trọng của WordPress Debug?
WordPress Debug hay WP_DEBUG là hằng số PHP kích hoạt chế độ debug trong WordPress. Bạn có thể tìm thấy nó trong file wp-config.php. Mặc dù chế độ này mặc định bị tắt nhưng bạn có thể bật lên khi cần thiết. Vậy các lý do nào lại khiến WordPress Debug trở nên quan trọng là gì:
- Một là, chế độ này cung cấp thông tin về vấn đề. Nó sẽ ghi lại tất cả các hoạt động xảy ra trên website và nhờ vậy có thể khắc phục sự cố, bằng cách lưu file log,
- Hai là, WordPress Debug (WP_DEBUG) sẽ hiển thị danh sách chức năng bị lỗi thời trong theme WordPress hoặc trong plugin. Đây là những chức năng được đánh dấu là không hoạt động trong tương lai. Thông báo này cho bạn biết lựa chọn nào được sử dụng để thay thế.
- WordPress Codex khuyến nghị mọi nhà phát triển nên sử dụng WP_DEBUG khi tạo sản phẩm. Để khi có vấn đề hoặc cảnh báo, nhà phát triển khác có thể kiểm tra và sửa code. Vì đây là lý do quan trọng khác, đó là khi bạn muốn xây dựng theme hoặc plugin bạn cần bật WP_Debug lên.
- Nếu nó không thích ứng với WP_DEBUG, thì thư viện WordPress chính thức sẽ không chứng thực plugin hoặc theme của bạn.
Công dụng chính của WordPress Debug
Khi bạn đã hiểu rõ được WordPress Debug, vậy thì chúng ta sẽ đến với những công dụng chính của nó, cụ thể như sau:
WP_Debug
Hằng số PHP rất quan trọng vì nó có thể được sử dụng để kích hoạt chế độ gỡ lỗi trên trang web của bạn là WP_DEBUG.
Theo mặc định, hằng số PHP này được đặt thành false. Nó thường được đặt trong file wp-config.php
define( ‘WP_DEBUG’, false);
Để bật chế độ debug bạn chỉ cần đổi “false” thành “true”
define( ‘WP_DEBUG’, true);
Dưới đây là một vài điều, mà bạn cần phải ghi nhớ trước khi bật gỡ lỗi WordPress.
- Hãy thật thận trọng trước khi thực hiện bất kỳ sự thay đổi nào đối với file wp-config.php vì đây là tệp quan trọng nhất trong việc cài đặt cấu hình truy cập cơ sở dữ liệu, cải thiện hiệu suất và cải thiện bảo mật WordPress. Chỉ cần website mắc một lỗi nhỏ trong cấu hình có thể khiến trang web của bạn không thể truy cập được
- Hãy luôn chắc rằng bạn gỡ lỗi WordPress trên một trang web đang chạy trên tên miền chính mà hãy tạo ra 1 bản clone để debug ở localhost hoặc ở 1 domain phụ. Vì khi debug ở tên miền chính thông tin quan trọng có thể bị lộ
WP_Debug_Log
Để có thể xem lại lỗi và thông báo lỗi ở bất kỳ nơi nào website của bạn thì hãy bật WP_DEBUG_LOG
Để có thể tạo tệp nhật ký gỡ lỗi (log file) trên WordPress thì bạn cần phải bật WordPress gỡ lỗi ghi nhật ký WP_DEBUG_LOG.Hằng số này về cơ bản buộc WordPress phải ghi các đầu ra gỡ lỗi vào một tệp nhật ký (log file).
Bật WP_DEBUG_LOG bạn cũng rất đơn giản, bạn chỉ cần dán mã này vào file config.php như với hằng define( ‘WP_DEBUG’, true); mà thôi
define( ‘WP_DEBUG_LOG’, true);
Khi đã bật WP_DEBUG_LOG thì sẽ có 1 file debug.log nằm trong cài đặt thư mục wp-content, hãy mở file debug.log lên bằng notepad để xem tất cả danh sách lỗi mà mình gặp phải
WP_Debug_Display
WP_DEBUG_DISPLAY là một chức năng cần phải tắt để ngăn thông báo lỗi hiển thị trên trang web của bạn. Theo mặc định, mỗi khi có lỗi, nó sẽ được tạo và hiển thị bên trong mã HTML của trang web của bạn. Không giống như WP_DEBUG, giá trị mặc định của WP_DEBUG_DISPLAY được đặt thành true và cần được thay đổi thành false để ẩn tất cả các lỗi.
Để bật chức năng này bạn cần thêm đoạn mã này vào file wp-config.php
define( ‘WP_DEBUG_DISPLAY’, true);
Nếu website của bạn có lỗi nó sẽ hiển thị lỗi ở đầu trang web như hình dưới đây
SAVEQUERIES
Bạn vẫn có thể debug với các truy vấn trong cơ sở dữ liệu ngay cả khi gặp lỗi. Cụ thể như sau, nếu bạn đang cố gắng khắc phục sự cố và các vấn đề về hiệu suất, bạn có thể muốn kiểm tra chính xác những truy vấn nào đang chạy thì có thể dán biến dưới đây vào file wp-config.php
define( ‘SAVEQUERIES’, true);
Khi bật tùy chọn này, tất cả các truy vấn sẽ được lưu trong biến toàn cục $wpdb->queries. Bạn có thể thêm đoạn code PHP sau vào một tệp trong WordPress và xem kết quả.
<?php
global $wpdb;
print_r( $wpdb->queries );
?>
Các cách giúp thực hiện Debug trên WordPress
Khi website WordPress gặp sự cố, hay khi xảy ra tình trạng white screen of death thì cách khắc phục thông dụng được áp dụng là tiến hành hủy kích hoạt plugin hoặc themes đó và thực hiện việc kiểm tra, bật lại bản cập nhật. Đây là cách giúp chúng ta có thể làm giảm bớt lại được phạm vi nguyên nhân có thể xác định. Nhưng thực tế thì cách này sẽ mất khá nhiều thời gian, và đôi khi lại không mang đến sự hiệu quả, có thể khiến chúng ta vô tình bỏ qua vấn đề thực sự. Vì vậy, đối với WordPress debug chúng ta có thể áp dụng một vài cách thức như:
Thực hiện kích hoạt WPDP Error Reporting
Việc bật WPDP Error Reporting luôn được khuyến khích thực hiện trong trường hợp muốn phát hiện được các lỗi có liên quan trực tiếp tới cơ sở dữ liệu. Object $wpdb trên phạm vi toàn cầu có một biến được sử dụng có tên gọi là $show_errors và khi chúng ta đặt thành True thì lúc này chúng ta có thể khiến WordPress nhanh chóng xuất hiện các lỗi SQL ra ngay màn hình.
Hãy tiến hành truy cập theo chỉ dẫn như sau /public_html/wp-includes/wp-db.php nếu muốn kích hoạt tính năng hoạt động của nó và thực hiện việc mở file. Lúc này thực hiện tìm kiếm wpdb class và thực hiện đổi biến $show_errors thành biến True.
Kiểm tra Error Logs trên Web
Trong một vài trường hợp cụ thể chúng ta có thể gặp phải tình trạng website bị lỗi ở máy chủ khi tiến hành duyệt web. Khi xảy ra những sự cố như thế này thì việc đầu tiên là kiểm tra lại error logs của website vì nó là yêu cầu bắt buộc cần thực hiện. Thông qua việc kiểm tra general log còn giúp người dùng mới, cho tới các lập trình viên phát hiện nhanh chóng được sự cố thực tế của trang web.
Sau khi đã tiến hành kiểm tra chúng ta sử dụng Google để tìm kiếm thông tin, xác định được cách để xử lý lỗi đã tìm thấy trước đó. Nhờ vậy mà việc sớm đưa website WordPress vào sử dụng bình thường, hiệu quả vẫn sẽ được đảm bảo.
Dùng WordPress Staging Environment khi chỉnh code
Trong trường hợp bạn muốn, có thể giảm được bugs trên website WordPress thì nên tiến hành triển khai code trước, ngay trên staging website cần được hoàn thành. Staging website được biết đến là một bản sao gần như hoàn hảo, chính xác của website đang chạy của bạn. Nó hoàn toàn được host trên private subdomain tách biệt mà không gây nên những tác nhân ảnh hưởng nào, tác động nào tới phiên bản thương mại. Quy trình hoạt động của nó như một nền tảng kiểm thử code và chúng ta có thể thực hiện push ra web chính sau khi đã thay đổi, chỉnh sửa hoàn tất.
Đây là môi trường không hiển thị cho khách truy cập, cũng như công cụ tìm kiếm. Cho nên chúng ta hoàn toàn tự do trong việc điều chỉnh, đưa ra những thay đổi, cải thiện, hay thử nghiệm các thay đổi mà chúng ta cảm thấy thích hợp. Nhờ vậy mà việc thao tác không gây ra bất kì tác động tiêu cực nào tới website đang chạy, mà vẫn có thể chỉnh sửa nhanh chóng, hiệu quả theo ý muốn.
Phát hiện lỗi PHP
Việc sử dụng “phpinfo” là ứng cử số một nếu bạn muốn phát hiện được các lỗi PHP sớm nhất trong tập lệnh của mình. Đây là tệp khi dùng chúng ta có thể dễ dàng xuất thông tin về dạng trạng thái hiện tại của PHP khi có nhu cầu. Nó sẽ bao gồm những tùy chọn như biên dịch, phiên bản, môi trường, tiêu đề HTTP, hay extension, phiên bản OS và giấy phép.
Để thực hiện được điều đó thì bạn cần vào cầu hình “file php.ini” thực hiện việc bật báo cáo lỗi. Nhưng trên thực tế ở một số dịch vụ Web Hosting hiện nay lại vô cùng hiệu quả tùy chọn này. Trường hợp này xảy ra do bạn không có quyền được truy cập vào root để thực hiện kích hoạt tính năng này theo nhu cầu sử dụng.
Tuy nhiên, thay vào đó bạn nên cân nhắc sử dụng PHP code checker với khả năng hỗ trợ đơn giản giúp xem xét các lỗi trong code, đồng thời cũng đánh giá một cách kĩ lưỡng hơn, chi tiết hơn. Chúng ta cũng có khả năng dùng các IDEs tiêu biểu như Eclipse hoặc PHPStorm.
Kích hoạt SCRIPT_DEBUG
WordPress luôn mặc định sử dụng minified đối với file CSS cũng như JavaScript với mục đích chính là để thay đổi được thời gian tải trang cho một website cụ thể. Và đây cũng có thể được xem là vấn đề, từ đó khiến lỗi xuất hiện vì nó hoàn toàn có khả năng sẽ là nguyên nhân ẩn errors ngay trong scripts/ plugins đang dùng.
Bạn có thể thêm vào file wp-config.php với cú pháp là: define( ‘SCRIPT_DEBUG’, true ); Nếu muốn thay đổi được việc thực thi script trên website yêu cầu WordPress cung cấp một constant
khi mà value đã xác định được là true thì lúc này WordPress sẽ tự động thực hiện tải những non-minified version của tất cả những tệp CSS cũng như JavaScript và nó sẽ khiến những plugin sẽ sử dụng toàn bộ bản full đầy đủ.
Một vài công cụ Debug
Một vài công cụ giúp các bạn theo dõi các lỗi trên một website WordPress theo cách đơn giản nhất thì việc sử dụng plugin debugging WordPress là lựa chọn hàng đầu. Vì nó giúp cho nhu cầu của mỗi quản trị viên hay lập trình viên được hỗ trợ tốt hơn, phải kể đến như:
Query Monitor
Đây là plugin khi sử dụng cung cấp developer tool panel ngay trên WordPress mà chúng ta có thể kích hoạt những truy vấn cơ sở dữ liệu, hay PHP errors, hoặc HTTP API calls, hooks & actions,… theo nhu cầu dễ dàng.
New Relic
Công cụ debug WordPress sẽ mạnh mẽ hơn bằng cách sử dụng Premium tool mà bạn có thể cân nhắc chính là New Relic. Đây là ứng dụng khi đưa vào sử dụng giúp theo dõi được trải nghiệm của người dùng, từ đó lập ra bản đồ kiến trúc WordPRess, thực hiện việc phân tích và cải thiện hiệu suất cho website, đồng thời cũng giúp phát hiện các lỗi bất thường trước khi nó xuất hiện. Mọi tính năng của nó hiện có sẽ giúp chúng ta thu thập dữ liệu, có đầy đủ thông tin để khắc phục được sự cố kịp thời. Từ đó việc đem lại cho người dùng trải nghiệm tốt nhất khi truy cập vào web site là điều hoàn toàn yên tâm.
Lời kết
Hy vọng những thông tin về WordPress Debug mà Mẫu Website 24h đã cung cấp sẽ giúp ích cho các lập trình viên hay các quản trị viên, qua đó hiểu được tầm quan trọng và các cách phổ biến để debug trong WordPress. Mình mong muốn các bạn có thể áp dụng và thực hiện nó khi cần thiết. Chúc các bạn thành công.