Để cài đặt Xdebug trong PHP, hãy làm theo các bước sau:
- Tải xuống tệp xdebug phù hợp:
- Truy cập hướng dẫn tại trang web của Xdebug.
- Nếu không tìm thấy phiên bản cần thiết, hãy truy cập trang tải về phiên bản cũ.
- Sao chép toàn bộ nội dung của hàm
phpinfo()vào trình hướng dẫn.
<?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).
- Di chuyển tệp đã tải xuống vào thư mục
extcủa PHP (ví dụ:php\\php5.6.9nts\\ext). - 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 -vtrong 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
- Mở Settings (Ctrl+Alt+S) và chọn Languages & Frameworks -> PHP.
- Cấu hình CLI Interpreter với thông tin PHP đã cài đặt.
- Trong phần Debug, thiết lập cổng debug (default là 9000) và chọn "Can accept external connections".
- 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
- Chọn Run -> Web Server Debug Validation.
- Chọn loại Web Server (Local Web Server hoặc Remote Web Server).
- Điền đường dẫn và URL cho tệp xác thực.
- 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