Рубрики
Uncategorized

Отладка PHP-проекта на VS-коде с помощью Xdebug

Вы когда-нибудь сталкивались с фрагментом кода, написанного на PHP, который работает не так, как должен? Если у вас их нет… Помеченный php, vscode, xdebug.

Вы когда-нибудь сталкивались с фрагментом кода, написанного на PHP, который работает не так, как должен? Если у вас нет большого опыта отладки приложений, вы бы наверняка использовали error_log() и var_dump() много для проверки ваших переменных, что работает, но могло бы быть и лучше.

Ранее работая с другими языками, такими как C # или Java, я научился использовать точки останова для проверки своего кода, и это тоже возможно в PHP благодаря Xdebug.

Xdebug – это расширение PHP, которое предоставляет возможности для отладки и профилирования нашего кода, позволяя нам проверять переменные и проверять вызовы шаг за шагом. Под капотом это расширение использует протокол DBGp , который обеспечивает связь между механизмом выполнения (официально Zend Engine ) и IDE.

Для этой статьи я предполагаю, что вы уже установили Код Visual Studio и среда выполнения PHP.

Жизнь для вас легка: просто выполните следующую команду, и все готово. Не забудьте сказать “нет”, если он спросит о добавлении расширения в ваш php.ini , так как мы рассмотрим это позже.

# pecl установить xdebug

Из-за склонности Windows усложнять работу, установка Xdebug потребует много шагов.

Примечание: Поскольку мы будем изменять только файл php.ini , не имеет значения, используете ли вы Apache, Nginx, Xampp и т. Д.

Первый шаг – определить вашу текущую версию PHP, для которой вы можете создать новый файл PHP, ввести phpinfo(), а затем выполнить поиск по следующим строкам (используйте Ctrl+F).

  • Версия: Прямо в начале информационной страницы.
  • Компилятор: Обратите внимание на версию компилятора (VC11, VC14 и т.д.)
  • Архитектура: Он сообщит вам, используете ли вы x86 (32 бита) или x64 (64 бита).
  • Потокобезопасность: проверьте, включена ли она у вас или нет. Если он включен, то ваша версия “Потокобезопасна” (TS), в противном случае она “Не потокобезопасна” (NTS). Дополнительная информация здесь .

Имея эту информацию, вы должны перейти на страницу загрузки Xdebug и выбрать подходящую версию для вашей текущей настройки. Библиотека DLL, которую вы получите, должна быть помещена в вашу папку расширений PHP, т.е. C:\xampp\php\ext .

После загрузки и установки Xdebug вам нужно будет зарегистрироваться и включить расширение в вашем php.ini . Для этого откройте файл и в конце добавьте следующие строки:

[xdebug]
; Path for the library in the extensions folder
zend_extension="/path/to/xdebug"

; Enable communications using DBGp protocol
xdebug.remote_enable=1

; Automatically start a debugging session?
xdebug.remote_autostart=1

; Host on which the IDE will run. Useful when using Docker
xdebug.remote_host=127.0.0.1

; The port to use for DBGp. Default is 9000
xdebug.remote_port=9000

; Show stacktraces?
xdebug.default_enable=1

Редактировать: добавлены дополнительные параметры конфигурации

💡 Не забудьте перезагрузить свой веб-сервер после применения этих изменений.

Теперь, когда механизм выполнения отправляет отладочную информацию через порт 9000, мы установим расширение VS Code, которое позволит нам взаимодействовать с отладчиком из среды IDE. Для этого руководства мы будем использовать “PHP Debug” от Феликса Беккера с рынка расширений.

Этот процесс очень прост: установите его, включите и готово.

Теперь, когда отладчик и расширение IDE установлены, вам нужно будет добавить конфигурацию, чтобы указать VSCode, какой инструмент будет использоваться для отладки. Для этого выполните следующие действия:

  1. В меню слева выберите пункт “Выполнить”.
  2. В верхней части боковой панели, если там написано “Нет конфигураций”, откройте выпадающий список и выберите “Добавить конфигурацию”.
  3. В приглашении “Выбрать среду” выберите “PHP”.
  4. Настройте параметры в соответствии с тем, как вы настроили Xdebug в php.ini .

Чтобы добавить точки останова, просто щелкните в пустом пространстве слева от номеров строк на панели редактора. Появится красная точка. После этого нажмите зеленую кнопку воспроизведения на боковой панели; Теперь нижняя панель должна измениться с синего на оранжевый, сигнализируя о том, что она запущена в режиме отладки.

Если вы выполните свой код, среда выполнения остановится в точке останова, и среда IDE позволит вам проверить переменные в этот момент времени или использовать кнопки шага, чтобы увидеть, что произойдет после этой точки останова. Чтобы продолжить выполнение кода, просто нажмите кнопку воспроизведения еще раз или остановитесь с помощью кнопки “Стоп” (красный квадрат).

Это был очень легкий подход к установке Xdebug и началу отладки. Я приглашаю вас продолжить чтение об удаленной отладке в официальная документация .

Счастливого кодирования!

Оригинал: “https://dev.to/zeegcl/debugging-a-php-project-on-vscode-with-xdebug-2anp”