header-object

Xdebug Phần 1 – Debug ứng dụng PHP với Netbeans

debug1

1. Giới thiệu

Viết một ứng dụng PHP điều gặp khó khăn nhất so với các ngôn ngữ lập trình khác đó là việc debug – dò lỗi trong source code.

Nhưng điều đó không có nghĩa là không thể làm được. Xdebug là một công cụ dùng để debug source web viết bằng PHP, một việc làm rất quan trọng cho việc lập trình và tìm ra lỗi nhanh nhất.

Ngoài ra, Xdebug còn là một công cụ profiler rất tốt cho website. Đây là một tính năng giúp tìm ra thắt cổ chai (bottleneck) nhằm cải thiện tốc độ website.

Trong bài viết này, tôi xin giới thiệu với mọi người sử dụng Xdebug cho việc dò lỗi trong ứng dụng web. Và để thực hiện điều này, tôi sẽ dùng Netbeans để tích hợp công cụ này và debug lỗi.

  

2. Cấu hình Xdebug với WAMP

Loạt bài về xdebug này nhằm chủ yếu dựa vào các công cụ như sau: WAMP, Netbeans. Sở dĩ tôi chọn WAMP làm server cho việc develop vì nó đơn giản và đặc biệt đã được cài đặt sẵn Xdebug, chúng ta chỉ cần cấu hình lại một vài thứ đơn giản là xong. Và việc dùng Netbeans là vì đây là một IDE tốt cho việc code PHP và cũng là một công cụ hoàn toàn miễn phí

Việc đầu tiên, chúng ta cần chỉnh lại file php.ini của WAMP để cấu hình Xdebug cho việc debug source code PHP. Click chuột trái vào icon WAMP trên system tray, chọn vào mục PHP và click vào php.ini (như hình bên dưới)

debug1

Sau khi mở được file php.ini, chúng ta tìm tới vị trí [xdebug] và chỉnh sửa đoạn sau (nếu đã có) hoặc thêm mới (nếu chưa có). Sau khi chỉnh sửa file php.ini xong hãy restart lại WAMP Server để việc cấu hình Xdebug có hiệu lực

xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

3. Cài đặt add cho việc sử dụng Xdebug

Để tiến hành debug được với Xdebug, chúng ta có thể cài đặt các add-on sau cho các trình duyệt. Vì khi chạy Xdebug, nó đòi hỏi 1 session DEBUGGER, nên đây là các add-on giúp phát sinh 1 Session Debugger.

4. Cấu hình Netbeans chạy debug

Bạn khởi động chương trình Netbeans, vào Menu Tools à chọn Options và chọn vào Tag PHP, sau đó cấu hình như trong hình bên dưới (mặc định thì Netbeans đã cấu hình như vậy rồi)

debug2

Sau đó, bạn click chuột phải vào project của mình (có thể nhấn Ctrl+1 để mở panel project của Netbeans lên), chọn vào properties, và chọn vào phần Run Configuration như hình bên dưới.

Lưu ý: phần Project Url, mọi người tùy chỉnh giống như url đang tiến hành debug, không làm giống như hình, sau đó mọi người click vào nút Advance… như trong hình

debug3

Sau đó, trong hộp thoại Advance Web Configuration, chọn Do not Open Web Browser và không quan tâm dòng Path Mapping might be needed như hình bên dưới

debug4

Như vậy là đã cấu hình xong hết, giờ tới bước cuối cùng.

 

5. Debug project PHP

Trong bài hướng dẫn này, tôi sẽ hướng dẫn dựa trên code Zend Framework, bước thực hiện là tương tự cho các framework hoặc CMS khác.

Click chuột phải vào project muốn debug, vào chọn debug như hình bên dưới

debug5

Lúc này, Netbeans sẽ waiting 1 session Xdebug, chúng ta hãy mở trình duyệt đã cài add-on như bước 3, và đi tới url cần debug code, tôi dùng Firefox để làm ví dụ cho bài này. Sau đó hãy click vào icon easy debug theo mũi tên trong hình

debug6

Sau khi click vào đây, chúng ta refresh lại trang web đang xem để easy Debug gửi 1 Session Debugger cho Netbeans, việc còn lại là chúng ta quay lại Netbeans để bắt đầu debug code.

Vì tôi dùng Zend Framework để debug nên đầu tiên hết, chương trình sẽ nhảy tới file index.php trong thư mục public. Điều này không quan trọng, chúng ta sẽ dùng tổ hợp phím sau để tiến hành debug.

debug7

Và tới đây thì mọi người hãy tự khám phá cách thức debug như thế nào.
Kết thúc bài này, mọi người chờ 1 bài tiếp theo về 1 công dụng khác của Xdebug – đó là profiler website, một việc không thể thiếu cho việc optimize performance của website.

Xem tiếp phần 2

GV Trần Minh Quang

Bình luận  

 
0 #4 Penney Thứ 6-04-17 22:51
Hi there, simply turned into alert to your blog thru Google, and found that it is truly informative.
I'm going to be careful for brussels. I will be grateful if you proceed this in future.

Lots of people will probably be benefited from your writing.
Cheers!

Here is my weblog: перейти на источник (http://all-climat.info: http://all-climat.info)
Trích dẫn
 
 
0 #3 kibg Thứ 5-05-13 16:46
Chào các thầy! em thích cái kiểu debug của xdebug mà khi set break point trong file controller của Framework php ( coi như symfony hoặc zend đi) thì debug không ăn vào break point và chạy qua luôn. Em có hiểu 1 chút nguyên nhân nhưng ko giải quyết được . Ai đã fix lỗi này rồi thì gửi lại giúp em nhé. Thanks so much!
Trích dẫn
 
 
0 #2 Trần Minh Quang Thứ 4-03-13 11:23
Bạn dùng tính năng code template của Netbeans để hỗ trợ phần lập đi lập lại này.
Trích dẫn
 
 
0 #1 Linux Thứ 3-03-13 10:04
Thầy cho em hỏi: em hay dùng netbean để code php, thường có 1 đoạn code hay dùng đi dùng lại. Có cách nào cài đặt netbean khi mình bấm phím tắt nào đó thì nó ra ngay đoạn code đó không ạ ?
Cảm ơn thầy !
Trích dẫn
 

Thêm ý kiến


Security code
Làm mới


2

Facebook

Thống kê truy cập

Hiện có 418 khách đang truy cập
2546544