Полный цикл в digital

PHP Debug (PHP 7.3) в связке с Open Server

Эта инструкция подойдет если использовать PHP версии 7.3 или выше.

Тестирование будет показано на примере реализации простого REST API.

OpenServer подходит для обучения и реализации не сложных проектов, в остальном более правильно использовать ОС Linux с Docker контейнерами.

Подключение PHP интерпретатора в VSCode

В программе VSCode необходимо установить расширение PHP Intelephense из самой программы или открыть по ссылке PHP Intelephense - Visual Studio Marketplace

Откройте VSCode, слева внизу нажмите значок шестеренки настроек и выберети вкладку Параметры:

В строке поиска введите PHP, затем выберите секцию PHP и нажмите Изменить в settings.json

В параметре php.validate.executablePath пропишите путь до исполняемого файла нужной версии PHP

Должно получиться следудующие:

Настройка Xdebug в VSCode

В программе VSCode необходимо установить расширение PHP Debug из самой программы или открыть по ссылке PHP Debug - Visual Studio Marketplace

Убедитесь что в директории лежит файл openserver/modules/php/версия_php_openserver/ext/php_xdebug.dll.

Откройте настройки php.ini через меню OpenServer в правом нижнем углу экрана:

Найдите секцию [xdebug], закоментируйте все параметры где есть xdebug и напишите ниже секции [xdebug] следующий текст:

  1. zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
  2. xdebug.log="%sprogdir%/userdata/temp/xdebug/log/access.log"
  3. xdebug.mode = debug
  4. xdebug.client_host = 127.0.0.1
  5. xdebug.client_port = 9003
  6. xdebug.start_with_request=yes
  7. xdebug.idekey = VSCode
  8. xdebug.discover_client_host=false

После этого создайте по пути openserver/userdata/temp/xdebug/ директорию log и в ней создайте файл access.log

В программе VSCode нажмите на значок отладки слева, VSCode предложит создать файл настроек launch.json в директории .vscode нажмите создать файл и затем в выпадающем меню выберите PHP

После чего откроется файл launch.json со следующим содержимым, в данном файле необходимо убедится только в том что указан порт 9003:

Создайте файл с содержимым <? echo xdebug_info(); ?> и откройте его в браузере, если все сделано правильно то появится следующая страница. В указанном блоке не должно быть ошибок, если есть исправляем:

Перезапускаем OpenServer

В программе VSCode нажав на значок отладки слева, выберите в выпадающем меню Listen for Xdebug и нажмите значок пуск.

Поставьте у себя в коде точку останова и откройте файл через браузер или выполните запрос к своему URL в случае с REST API.

Полный вывод данных

При отладке из коробки возникает небольшая проблема, XDebug работает нормально, останавливается на точках останова данные доступны в переменных. При попытки посмотреть массив, доступно определенное количество элементов. Например, массив из 172 элементов будет отображать только 32 элемента.

По сути, XDebug можно настроить с помощью параметров, помещенных в файл php.ini. Среди опций есть та которая определяет глубину объекта для отображения в графическом интерфейсе:

xdebug.var_display_max_children

При отладке с помощью расширения PHP Debug эти параметры необходимо настроить в файле launch.json, содержащий настройки отладчика:

{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"xdebugSettings": {
"max_children": 999,
}
}

Полные инструкции перечислены на этой странице.


Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг