Gỡ lỗi PHP bằng Xdebug

Xdebug là một công cụ lập hồ sơ và gỡ lỗi PHP mạnh mẽ giúp chúng tôi phân tích và tối ưu hóa các ứng dụng PHP. Nó hỗ trợ các tính năng như gỡ lỗi từng bước, đo lường hiệu suất và theo dõi ngăn xếp, giúp khắc phục sự cố dễ dàng hơn nhiều và cung cấp thông tin chi tiết tốt hơn về mã. Dưới đây là hướng dẫn thiết lập nhỏ để sử dụng trong VSCode.


Cài đặt Xdebug

Ví dụ: chúng tôi sẽ cài đặt Xdebug trên hệ thống Ubuntu hiện tại:

sudo apt-get install -y php8.4-xdebug

Cuối cùng, chúng tôi tạo một thư mục tạm thời để lưu trữ dữ liệu hồ sơ và theo dõi sau này:

mkdir -p /tmp/xdebug

Định cấu hình Xdebug

Sau khi cài đặt, chúng tôi cấu hình Xdebug. Để làm điều này, chúng tôi chỉnh sửa nó vi/php.ini:

vi /etc/php/8.4/fpm/conf.d/custom.ini

Sau đây là cấu hình cơ bản hợp lý:

[xdebug]
; mode (see: https://xdebug.org/docs/all_settings#mode)
;   reasonable default
xdebug.mode=debug,profile
;   disabled
;xdebug.mode=off
;   step debugging
;xdebug.mode=debug
;   performance profiling (be aware of load/space)
;xdebug.mode=profile
;   trace profiling (record args)
;xdebug.mode=trace

; starting mode
;   always (not recommended)
;xdebug.start_with_request=yes
;   only when specific get parameters / cookies are set
;   (?XDEBUG_TRIGGER=1, ?XDEBUG_PROFILE=1, ?XDEBUG_TRACE=1, ?XDEBUG_SESSION=1)
;   this is best in conjunction with Chrome extension "Xdebug helper"
xdebug.start_with_request=trigger
;   folder for analyzing profile dumps
xdebug.output_dir="/tmp/xdebug"
;   not needed, since it is already in /etc/php/8.4/fpm/conf.d/20-xdebug.ini
;zend_extension=xdebug.so

Sau khi thực hiện những điều chỉnh này, chúng tôi khởi động lại PHP-FPM để áp dụng các thay đổi:

sudo service php8.4-fpm restart

Định cấu hình VSCode

Để sử dụng Xdebug trong Visual Studio Code, cần có hai tiện ích mở rộng và điều chỉnh cấu hình. Chúng tôi cài đặt cái này:

Cuối cùng chúng ta tạo file cấu hình launch.json trong thư mục .vscode của project cần phân tích:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "ignore": ["**/vendor/**/*.php"]
        }
    ]
}

Cài đặt tiện ích mở rộng của Chrome

Tiện ích mở rộng trợ giúp Xdebug đã được chứng minh là có khả năng sửa lỗi linh hoạt trong trình duyệt. Điều này giúp bạn chỉ có thể bật hoặc tắt Xdebug khi cần thiết. Bạn cũng có thể dễ dàng thay đổi chế độ gỡ lỗi (ví dụ: để chuyển từ gỡ lỗi sang lập hồ sơ):

Cấu hình WordPress

Khi sử dụng Xdebug trong môi trường WordPress, việc tắt gỡ lỗi trong các công việc định kỳ khi phiên gỡ lỗi đang hoạt động có thể hữu ích. Điều này làm cho các yêu cầu gỡ lỗi dễ dàng hơn. Để thực hiện việc này, hãy thêm dòng sau vào: wp-config.php Một:

// disable wp cron on xdebug sessions
if (function_exists('xdebug_is_debugger_active') && xdebug_is_debugger_active()) {
    define('DISABLE_WP_CRON', true);
}

Với cấu hình này, chúng tôi có một thiết lập mạnh mẽ cho phép chúng tôi giải quyết các vấn đề gỡ lỗi phức tạp một cách chính xác. Cho dù tìm thấy các lỗi cứng đầu hay tinh chỉnh các vấn đề về hiệu suất - Xdebug không chỉ giúp công việc hiệu quả hơn mà còn mang lại chất lượng phát triển mới thông qua khả năng kiểm soát và tính rõ ràng của mã.

Trở lại