Отладка в PHP - Xdebug :: Cетевой уголок Majestio

Отладка в PHP - Xdebug


Когда проект достаточно объемный - порой для отладки начинает не хватать отладочных сообщений. Не в том плане, что они как-то "хуже" начинают работать. Просто большим количеством отладочных сообщений управлять не удобно, много времени тратится на правки этих сообщений. На помощь приходит отладчик Xdebug.

Но увы, за окном 2023 год, многие мануалы по этой теме в сети устарели - восполняем этот пробел ...

Установка и настройка отладчика Xdebug в VS Codium / VS Code под Windows

Все устанавливалось и тестировалось для VS Codium, и это, в каких-то вариациях, должно подойти и для VS Code. Ибо VS Codium, как форк VS Code, практически полностью совместим с последним. Итак, в качестве веб-сервера выбираем OpenServer v.5.4.3.

Это важно!
При условии использования PHP 7.4 для использования Xdebug нужна версия PHP >= 7.4.20.
OpenServer v.5.4.3. поставляется с PHP v.7.4.30 - и это уже подходит.

1. Устанавливаем и настраиваем OpenServer

Установку произвел в каталог D:\Tools\OpenServer. Соответственно, после установки вношу правки в файл настроек PHP7.4 - D:\Tools\OpenServer\userdata\config\PHP_7.4_php.ini:

zend_extension = opcache
zend_extension = xdebug
...
[xdebug]
xdebug.mode                      = debug
xdebug.client_host               = "localhost"
xdebug.client_port               = 9000
xdebug.connect_timeout_ms        = 200
xdebug.output_dir                = "%sprogdir%/userdata/temp/xdebug"
xdebug.start_with_request        = yes

Важно, чтобы в файле настроек zend_extension = xdebug объявлялась после zend_extension = opcache, причин не помню, да и не важно.

2. Устанавливаем динамическую библиотеку xdebug

Выкачиваем динамическую библиотеку php_xdebug-3.1.6-7.4-vc15-x86_64.dll и записываем (с заменой) под именем D:\Tools\OpenServer\modules\php\PHP_7.4\ext\php_xdebug.dll. Перезапускаем OpenServer. На этом этапе желательно пройти проверку настроек и окружения. Для этого выполняем следующее:

D:\Tools\OpenServer\modules\php\PHP_7.4\php.exe -v > php-info.txt

3. Устанавливаем расширение в VS Codium для поддержки xdebug

Заходим в раздел расширений, в строке фильтра набираем xdebug. Среди отфильтрованных расширений выбираем за авторством felixfbecker и инсталлируем.

select xdebug extension

Для настройки открываем в редакторе напрямую файл settings.json

У меня он расположен тут - D:\Tools\VSCodium\data\user-data\User\settings.json.

Или же воспользуемся интерфейсом VS Codium:

customizing the xdebug extension - 1

потом

customizing the xdebug extension - 2

В конец файла настроек добавляем:

"launch": {
    "configurations": [
      {
        "name": "Launch for XDebug",
        "type": "php",
        "request": "launch",
        "port": 9000,
        "runtimeExecutable": "D:/Tools/OpenServer/modules/php/PHP_7.4/php.exe"
      },
      {
        "name": "Launch for current script",
        "type": "php",
        "request": "launch",
        "program": "${file}",
        "cwd": "${fileDirname}",
        "port": 9000,
        "runtimeExecutable": "D:/Tools/OpenServer/modules/php/PHP_7.4/php.exe"
      }
    ]
  },
  "php.debug.executablePath": "D:/Tools/OpenServer/modules/php/PHP_7.4/php.exe"

На этом все - перегружаем VS Codium.

Процесс отладки

Рейтинг: 0/5 - 0 голосов