Cấu hình Xdebug cho PHP

Để cài đặt Xdebug trong PHP, hãy làm theo các bước sau:

  1. Tải xuống tệp xdebug phù hợp:
    <?php
    class Trangchu {
        public function hienthi() {
            phpinfo();
        }
    }
    $trangchu = new Trangchu();
    $trangchu->hienthi();
    ?>
    

    Tải xuống file .dll tương ứng với phiên bản PHP của bạn (TS hoặc NTS).

  2. Di chuyển tệp đã tải xuống vào thư mục ext của PHP (ví dụ: php\\php5.6.9nts\\ext).
  3. Thêm các cấu hình sau vào tệp php.ini (thêm nếu chưa có):
[XDebug]
zend_extension = "<đường dẫn đến tệp mở rộng Xdebug>"
; Ví dụ: E:\\Software\\PhpStudy\\phpstudy_pro\\Extensions\\php\\php7.3.4nts\\ext\\php_xdebug-2.9.2-7.3-vc15-nts-x86_64.dll
xdebug.remote_enable = true
xdebug.remote_port = 9000
xdebug.remote_host = localhost
xdebug.remote_mode = req
xdebug.idekey = PHPSTORM

Kiểm tra cài đặt:

  • Thực thi hàm phpinfo() và kiểm tra phần Zend.
  • Sử dụng lệnh php -v trong dòng lệnh.
  • Sử dụng lệnh php -m để liệt kê các module được tải.

Cấu hình Xdebug trong PhpStorm

  1. Mở Settings (Ctrl+Alt+S) và chọn Languages & Frameworks -> PHP.
  2. Cấu hình CLI Interpreter với thông tin PHP đã cài đặt.
  3. Trong phần Debug, thiết lập cổng debug (default là 9000) và chọn "Can accept external connections".
  4. Kích hoạt tùy chọn dừng khi gặp file không được ánh xạ và khi mở file bên ngoài dự án.

Xác thực Xdebug trên Web Server

  1. Chọn Run -> Web Server Debug Validation.
  2. Chọn loại Web Server (Local Web Server hoặc Remote Web Server).
  3. Điền đường dẫn và URL cho tệp xác thực.
  4. Chạy xác thực và kiểm tra kết nối.

Đối với các phiên bản Xdebug 3.0 trở lên, cấu hình sẽ khác như sau:

[Xdebug]
zend_extension=E:\php\php7.3.4nts\ext\php_xdebug-2.9.8-7.3-vc15-x86_64.dll
xdebug.client_port=9004
xdebug.client_host=localhost
xdebug.remote_mode = req
xdebug.idekey = PHPSTORM
xdebug.remote_handler=dbgp
xdebug.mode=debug
xdebug.start_with_request=yes

Để mở/tắt debug từ trình duyệt, thêm các bookmarklet sau:

javascript:(function() {document.cookie='XDEBUG_SESSION=PHPSTORM;path=/';})()
javascript:(function() {document.cookie='XDEBUG_SESSION=;expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/';})()

Nếu cổng bị chiếm dụng, sử dụng các lệnh sau để giải quyết:

netstat -ano
netstat -aon|findstr "9000"
tasklist|findstr "<PID>"
taskkill /f /t /im php.cgi.exe

Thẻ: xdebug php phpstorm debugging

Đăng vào ngày 7 tháng 6 lúc 00:50