php xdebug visual studio code

Php xdebug visual studio code

Настройка удаленной отладки PHP (XDebug) на Visual Studio Code (VSC)

Процесс первоначальной настройки локального (XAMPP) XDebug на VSC пропущен, такие мануалы есть в сети. Мне понадобилось к уже настроенному и рабочему VSC подключить отладку удаленного сайта.

Итак, дано: на локале винда с установленным VSC и удаленный Ubuntu-сервер (нулевый на виртуальной машине).

Настройка сервера (у меня Ubuntu 18.04)

До установки xdebug, нам сперва необходимо поставить некоторые другие пакеты. Установим пакет php-dev, который позволит нам компилировать динамические расширения для PHP. Как раз таким расширением является xdebug.

apt-get install php-dev

Теперь установим PEAR, который также включает PECL. Согласно их вебсайту, PECL — это репозиторий для расширений PHP, который предоставляет каталог всех известных расширений, а также услуги хостинга для скачивания и разработки PHP-расширений. Xdebug является одним из таких расширений.

apt-get install php-pear

Теперь мы можем установить/скомпилировать xdebug, используя PECL. Выполним следующую команду:

pecl install Xdebug

После успешной установки, в конце выдаст примерно следующее, запомните путь куда установлено расширение, нам он потом понадобится:

Добавим следующий код в конец php.ini:

Главное тут «pathMappings» : мы должны указать VSC какой локальный каталог соответствует удаленному.

About

Настройка удаленной отладки PHP на Visual Studio Code (XDebug)

Источник

Настройка отладки php-кода при помощи Xdebug

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Классические методы отладки на PHP — использование функций error_log, print_r и var_dump. Их проблема в том, что они не помогают отслеживать сам процесс работы кода. Однако с этой задачей справляется Xdebug — один из самых популярных инструментов среди PHP-разработчиков, которые хотят работать, а не страдать.

В этой статье будет рассмотрена отладка PHP с помощью связки Xdebug и VSCode. Если вы пользуетесь PHPStorm, то проблем тоже не будет — настройка выполняется даже проще и быстрее.

Возможности Xdebug

Xdebug — это расширение для PHP, которое позволяет использовать удаленный отладчик в IDE через брейк-пойнты. С его помощью вы можете отслеживать значения переменных. Как итог — ошибки в коде обнаруживаются быстрее, чем при использовании error_log, print_r и var_dump.

Еще одна полезная функция — трассировка стека. Она выводит подробный путь, который привел приложение к ошибке. Он содержит параметры, переданные в функцию. Xdebug также можно использовать как профайлер для поиска узких мест кода. Если добавить внешние инструменты, то получится визуализировать графики производительности. Например, можно использовать WebGrind — набор PHP-скриптов для удобного вывода статистики прямо в браузере.

Кроме того, с помощью Xdebug вы можете проследить, какая часть кода выполняется в процессе запроса. Это дает информацию о том, как хорошо код покрыт тестами.

Подключение Xdebug

Для работы Xdebug PHP должен быть в режиме CGI. Посмотрим на примере хостинга Timeweb, как его включить.

Подключаемся к серверу через SSH. Можно использовать консоль в панели управления Timeweb.

Переходим в папку cd-bin сайта:

Создаем символическую ссылку командой:

Остаемся в директории cgi-bin и копируем файл php.ini:

Теперь мы можем управлять параметрами PHP директивами в файле php.ini. Он находится в папке cgi-bin. Открываем его и вставляем в конце следующие строки:

Если указанный порт занят, укажите другой. Можно использовать стандартный для Xdebug — 9000. В качестве idekey я указал VSCODE. Если будете настраивать конфигурацию для PHPStorm, впишите его.

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Чтобы проверить, работает ли Xdebug, создадим в корне сайта файл Myfile.php со следующим содержимым:

Открываем файл в браузере и проверяем, что все параметры указаны верно.

Организация удаленного подключения

Чтобы выполнять PHP Debug на локальной машине, нужно настроить связь IDE и сервера через SSH-туннель.

На Linux все выполняется парой команд.

Приватный ключ сохраняется на локальной машине, а публичный добавляется на сервер. Подробнее об этом, а также о настройке SSH на Windows, вы можете узнать из этой статьи.

На Linux туннель создается командой:

На Windows туннель настраивается через утилиту PuTTY.

Сессия сохранится под тем именем, которое мы указали в разделе Session. В дальнейшем нужно будет просто запускать ее заново.

Настройка VSCode

Чтобы работать с Xdebug в VSCode, установим два расширения: Sync-Rsync и PHP Debug. Первое нужно для работы с удаленным сервером, второе — для отладки скриптов.

После установки расширений создаем на локальной машине пустую папку и открываем ее через VSCode: «Файл» — «Открыть папку».

Путь /home/user/.ssh/id_rsa — это место, где лежит файл с закрытой частью SSH-ключа.

После сохранения файла settings.json нажимаем в VSCode F1, выполняем команду Sync Remote to Local. В локальную папку, указанную в настройках, скопируются все файлы с сервера.

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

На этом настройка IDE завершена. Можно приступать к тестированию кода.

Debug кода

Мы настроили среду, теперь разберемся, как пользоваться Xdebug.

Переходим в режим «Отладка» и проверяем, что выделен пункт Listen for XDebug. Нажимаем на зеленый треугольник или на клавишу F5.

После перезагрузки сайта в браузере возвращаемся в VSCode. В отладчике должны отобразиться глобальные переменные и их значения на момент обработки кода в брейк-пойнте. Вы можете перемещаться по коду, отслеживая изменение переменных на каждом шаге.

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Профилирование с визуализацией результатов

Чтобы использовать Xdebug profiler на полную мощность, установим WebGrind. Это набор скриптов, который выводит статистику в браузере. С его помощью можно посмотреть список вызванных функций, количество вызовов, общее затраченное время на вызов и выполнение.

Затем нужно открыть файл config.php, который находится в распакованной папке webgrind-master. В нем отредактируем две строки:

После такой настройки можно выполнять на Xdebug профилирование. Открываем наш тестовый скрипт в браузере. Затем переходим по ссылке www.domain/webgrind-master. В выпадающем списке выбираем только что запущенный скрипт и нажимаем на кнопку Update.

Функции можно скрывать или раскрывать, чтобы посмотреть развернутую статистику. Инструмент также умеет отображать графы вызова функций — для этого используется режим Show Call Graph.

Вывод: когда использовать Xdebug?

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

Источник

PHP Debug

Felix Becker

PHP Debug Adapter for Visual Studio Code

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Sponsored by

Sponsor PHP Debug Adapter for Visual Studio Code

If you find this extension usefull, if it helps you solve your problems and if you appreciate the support given here, consider sponsoring our work.

Installation

Install Xdebug I highly recommend you make a simple test.php file, put a phpinfo(); statement in there, then copy the output and paste it into the Xdebug installation wizard. It will analyze it and give you tailored installation instructions for your environment. In short:

Configure PHP to use Xdebug by adding zend_extension=path/to/xdebug to your php.ini. The path of your php.ini is shown in your phpinfo() output under «Loaded Configuration File».

Enable remote debugging in your php.ini :

There are other ways to tell Xdebug to connect to a remote debugger, like cookies, query parameters or browser extensions. I recommend remote_autostart (Xdebug v2)/ start_with_request (Xdebug v3) because it «just works». There are also a variety of other options, like the port, please see the Xdebug documentation on remote debugging for more information. Please note that the default Xdebug port changed between Xdebug v2 to v3 from 9000 to 9003.

If you are doing web development, don’t forget to restart your webserver to reload the settings.

Verify your installation by checking your phpinfo() output for an Xdebug section.

VS Code Configuration

In your project, go to the debugger and hit the little gear icon and choose PHP. A new launch configuration will be created for you with three configurations:

There are also configurations for Xdebug v2 (Legacy) installations.

More general information on debugging with VS Code can be found on https://code.visualstudio.com/docs/editor/debugging.

Supported launch.json settings:

Options specific to CLI debugging:

Features

Remote Host Debugging

To make VS Code map the files on the server to the right files on your local machine, you have to set the pathMappings settings in your launch.json. Example:

Please also note that setting any of the CLI debugging options will not work with remote host debugging, because the script is always launched locally. If you want to debug a CLI script on a remote host, you need to launch it manually from the command line.

Troubleshooting

Contributing

To hack on this adapter, clone the repository and open it in VS Code. You need NodeJS with NPM installed and in your PATH. Also a recent PHP and Xdebug should be installed and in your PATH.

Источник

Отладка php в Visual Studio Code (Xdebug, Windows)

В некоторых случаях может возникнуть необходимость отладки приложений на php. Visual Studio code предоставляет такую возможность при условии установки дополнительного расширения PHP Debug (marketplace, github).

Установка PHP Debug

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Установка и настройка Xdebug

PHP Debug использует для отладки Xdebug. Для настройки Xdebug пройдите по ссылке. Предполагается, что на локальной машине уже установлен и настроен сервер apache. Здесь и далее действия указаны для Windows. Можно создать файл, например, test.php содержащий:

Открыть его в браузере и скопировать содержимое страницы в диалоговое окно. Другой способ:

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Кроме этого, добавьте нижеследующие строки. Итоговое добавление будет примерно таким:

Как вы уже, возможно догадались, в данном примере на локальной машине установлен XAMPP.

Примечание: С версией Xdebug 2.5 и выше Visual Studio code не работает. Поэтому выбирайте соответствующий вашей версии php файл *.dll.

Настройка Visual Studio code

Вызовите панель отладки (1) и нажмите на иконку с маленькой шестеренкой (2).

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Настройка PHP Debug на этом окончена.

Отладка php в Visual Studio code

Откройте в браузере ваше приложение\сайт. Откройте папку с приложением в Visual Studio code. Установите в нужных файлах и строках точки остановки. Откройте панель отладки и выберите для запуска отладки команду Listen for Xdebug (1). Нажмите кнопку запуска (2).

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Обновите страницу в браузере и наслаждайтесь.

Источник

Php xdebug visual studio code

PHP Debug Adapter for Visual Studio Code

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

php xdebug visual studio code. Смотреть фото php xdebug visual studio code. Смотреть картинку php xdebug visual studio code. Картинка про php xdebug visual studio code. Фото php xdebug visual studio code

Sponsor PHP Debug Adapter for Visual Studio Code

If you find this extension usefull, if it helps you solve your problems and if you appreciate the support given here, consider sponsoring our work.

Install Xdebug I highly recommend you make a simple test.php file, put a phpinfo(); statement in there, then copy the output and paste it into the Xdebug installation wizard. It will analyze it and give you tailored installation instructions for your environment. In short:

Configure PHP to use Xdebug by adding zend_extension=path/to/xdebug to your php.ini. The path of your php.ini is shown in your phpinfo() output under «Loaded Configuration File».

Enable remote debugging in your php.ini :

There are other ways to tell Xdebug to connect to a remote debugger, like cookies, query parameters or browser extensions. I recommend remote_autostart (Xdebug v2)/ start_with_request (Xdebug v3) because it «just works». There are also a variety of other options, like the port, please see the Xdebug documentation on remote debugging for more information. Please note that the default Xdebug port changed between Xdebug v2 to v3 from 9000 to 9003.

If you are doing web development, don’t forget to restart your webserver to reload the settings.

Verify your installation by checking your phpinfo() output for an Xdebug section.

VS Code Configuration

In your project, go to the debugger and hit the little gear icon and choose PHP. A new launch configuration will be created for you with three configurations:

There are also configurations for Xdebug v2 (Legacy) installations.

More general information on debugging with VS Code can be found on https://code.visualstudio.com/docs/editor/debugging.

Supported launch.json settings:

Options specific to CLI debugging:

Remote Host Debugging

To make VS Code map the files on the server to the right files on your local machine, you have to set the pathMappings settings in your launch.json. Example:

Please also note that setting any of the CLI debugging options will not work with remote host debugging, because the script is always launched locally. If you want to debug a CLI script on a remote host, you need to launch it manually from the command line.

To hack on this adapter, clone the repository and open it in VS Code. You need NodeJS with NPM installed and in your PATH. Also a recent PHP and Xdebug should be installed and in your PATH.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *