Hướng dẫn debug PHP project

Là một lập trình viên, debug là một việc không thể thiếu trong quá trình xây dựng và phát triển sản phẩm. Hôm nay mình xin trình bày với các bạn cách debug các dự án sử dụng PHP và IDE PHPSTORM. Với Sublime text các bạn có thể tham khảo thêm tại đây.

Bước 1: Cài đặt Xdebug extension

  • Kiểm tra phpinfo, nếu đã có tồn tại như hình dưới thì chuyển qua bước 2, nếu chưa có thì hãy thực hiện các thao tác dưới đây.

phpinfo.jpg

  • Với ubuntu (linux), các bạn chạy lệnh
sudo apt-get install php5-xdebug
Thay bằng php-xdebug với PHP 7
  • Với Window, các bạn kiểm tra xem trong thư mục ext của PHP đã có file php_xdebug.dll chưa, nếu chưa có thì bạn cẩn tải về ở đây, nhớ chọn version tương ứng nhé, và copy vào thư mục ext của PHP. Mở file php.ini lên, thêm vào cuối file nội dung sau
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1
  • 2 option cần chú ý là zend_extension_ts cấu hình đường dẫn của extension, xdebug.remote_port là cổng sẽ lắng nghe, mặc định là 9000, có thể để 10000 nếu 9000 đã có service khác sử dụng.
  • Hoàn thành các bước trên, khởi động lại web server. Kiểm tra phpinfo có kết quả như hình phía trên tức là bạn đã cài đặt thành công.

Bước 2: Cấu hình IDE PHP STORM

  • Download PHPSTORM tại đây, cài đặt và mở 1 dự án đang thực hiện.
  • Chọn File -> Settings -> Languages & Frameworks -> PHP, lựa chọn Interpreter trong box Development environment, IDE sẽ tự tìm version PHP hiện tại, nếu không thấy, các bạn tìm và trỏ đến file thực thi PHP.

setting1.jpg

  • Tiếp theo trong menu con của PHP có mục Debug, chú ý box Xdebug, điền đúng Xdebug port đã cấu hình ở file php.ini và lưu lại

setting2.jpg

  • Giờ chúng ta cần tạo cấu hình để IDE lắng nghe request từ URL. Trên thanh menu, chọn Run -> Edit Configurations, chọn +, chọn tiếp PHP remote debug, điền name là tên dự án của bạn hoặc cái gì đó dễ nhớ, tạo mới một Servers nếu chưa có

setting3.jpg

  • Tạo mới servers, chú ý đặt tên và quan trọng nhất là Host, chúng ta cần điền chính xác domain của dự án, mặc định là http://localhost, nếu các bạn dùng virtual host thì chú ý điền chính xác.

setting4.jpg

  • Tạo server xong thì điền tiếp Ide Key là PHPSTORM, chúng ta có cấu hình đầy đủ như hình dưới

setting5.jpg

  • Bước cuối dùng chúng ta cần cài add-on cho trình duyệt. Với chrome chúng ta có xdebug helper, firefox có easy Xdebug, safari có Xdebug Toogler, opera có Xdebug launcher ... Các bạn cài đặt addon, mở addon option lên và cấu hình ide key là PHPSTORM.
  • Mình sử dụng Chrome và xdebug helper, cấu hình sẽ như sau

setting6.jpg

  • Giờ bật debug của Ide lên như hình dưới, đặt vài break point nữa nhé.

setting7.jpg

  • Mở trình duyệt, nhấn chuột trái vào icon addon xdebug, chọn Debug (màu xanh) và truy cập vào dự án.
  • Kết quả

result.jpg

  • Các bạn có thể thực hiện chuyển trạng thái đến dòng lệnh tiếp theo hoặc kết thúc debug session... bằng các button ở khu vực quản lý debug hoặc bằng các phím tắt cấu hình trong File -> Settings -> Keymap
  • Bài viết đến đây là kết thúc, chúc các bạn sẽ tiết kiệm được nhiều thời gian để tìm lỗi với các dự án PHP 😄.