2009-07-03 8 views
9

Tôi đang viết một số plugin và chủ đề cho WordPress và tôi cảm thấy khó gỡ lỗi bởi vì bằng cách nào đó vào thời điểm trang đã tải, $ _GET, $ _POST và $ _REQUEST đều trống. Ngay cả khi báo cáo lỗi được bật, tôi không nhận được thông báo lỗi khác với trang trống bất cứ khi nào có lỗi nghiêm trọng. Có anyway để kích hoạt một 'chế độ gỡ lỗi' cho WordPress?PHP và WordPress: Gỡ lỗi

Cảm ơn!

Trả lời

11

Pear gỡ lỗi Wordpress plugin: http://wordpress.org/extend/plugins/wp-pear-debug/

Cập nhật 2015/04/08: Plugin trên đã không được cập nhật trong một vài năm. Bạn cũng có thể sử dụng được xây dựng trong chức năng gỡ lỗi WordPress PHP trong wp-config.php, ví dụ:

// Enable WP_DEBUG mode 
define('WP_DEBUG', true); 

// Enable Debug logging to the /wp-content/debug.log file 
define('WP_DEBUG_LOG', true); 

// Disable display of errors and warnings 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors',0); 

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files) 
define('SCRIPT_DEBUG', true); 

Xem https://codex.wordpress.org/Debugging_in_WordPress cho các tài liệu hoàn chỉnh

+0

Vì PHP 7.0 (không chắc chắn) mà ném hầu hết các lỗi như Ngoại lệ, có vẻ như Wordpress đôi khi chỉ dừng hiển thị mà không có bất kỳ thông báo lỗi nào. (Tất nhiên ngay cả khi cài đặt ở trên được thực hiện.) Đặt 'set_exception_handler' https: //gist.github.com/kaorukobo/795d43c9a594b021c2d09fffd2935b37 đã giúp giải quyết vấn đề này. – kaorukobo

5

Có (nhiều hơn một) cách để bật "chế độ gỡ lỗi" cho php nói chung. Và đó là cài đặt tiện ích mở rộng trình gỡ lỗi như ví dụ: xdebug.
Bạn cần một ứng dụng khách kết nối với trình gỡ lỗi và truy xuất + hiển thị thông tin.
Netbeans 6.7 đã được released và mô-đun php của nó hỗ trợ xdebug. Nó đã trở thành một đẹp IDE for PHP development.

+0

Alas, tôi bằng cách sử dụng một máy chủ lưu trữ web, và phong cách phát triển PHP của tôi là tải trực tiếp lên webhost để thử nghiệm. Cảm ơn mặc dù và nếu tôi đã từng phát triển trên máy tính windows của tôi, tôi sẽ sử dụng – Extrakun

4

Tôi biết điều này từ lâu đã được trả lời, nhưng nếu bạn define('WP_DEBUG',true); trong wp- của bạn lỗi config.php và vẫn không nhìn thấy, sau đó thêm mã này ngay sau khi xác định tuyên bố:

if (WP_DEBUG) ini_set('display_errors',1);

3

nhìn vào WordPress FirePHP Debugger (thư rác liên kết r emoved). Nó sử dụng FirePHP để gỡ lỗi wordpress thông qua trình duyệt web.

tính năng chính:

  • tự động phát hiện các FirePHP thư viện máy chủ bên trong php include đường dẫn hoặc thư mục tách
  • tải sớm của debugger (trước WordPress khởi động động cơ)
  • Không sửa đổi WordPress lõi hoặc cấu hình tệp
  • Tự động bật chế độ gỡ lỗi WordPress
  • Xử lý tất cả các lỗi nghiêm trọng về php (không phân tích các trang trống và nhật ký)
  • chức năng
  • Logs WordPress phản đối và lập luận
  • gỡ lỗi an toàn trên trang web hoạt động
  • truy vấn SQL log
  • superglobals PHP và hằng
  • Thông tin hệ thống (WordPress và môi trường máy chủ)