Как включить интегрированный модуль Xdebug в ServBay
ServBay, как мощный интегрированный инструмент веб-разработки, включает в себя модуль Xdebug, и его активация является очень простой задачей. Xdebug — это инструмент для отладки и анализа PHP-кода, помогающий разработчикам в отладке кода, анализе производительности и проверке покрытия кода. Это ценный ресурс для разработки и сопровождения PHP-приложений.
Введение в модуль Xdebug
Xdebug — это мощное расширение PHP, используемое для отладки и анализа кода. Оно предоставляет обширные функции отладки, включая точечную отладку, трассировку стека, наблюдение за переменными и т.д. Кроме того, Xdebug поддерживает анализ производительности и проверку покрытия кода, помогая разработчикам оптимизировать производительность и обеспечить качество кода.
Основные особенности
- Точечная отладка: Xdebug позволяет устанавливать точки останова в коде для построчной отладки, что упрощает поиск и исправление ошибок.
- Трассировка стека: При возникновении ошибок Xdebug может генерировать подробную информацию о трассировке стека, помогая разработчикам быстро определить проблему.
- Анализ производительности: Xdebug предоставляет функции анализа производительности и может генерировать подробные отчеты, помогая оптимизировать производительность кода.
- Покрытие кода: Xdebug поддерживает проверку покрытия кода, помогая разработчикам убедиться, что все пути кода охвачены тестами.
- Поддержка интегрированных сред разработки (IDE): Xdebug может интегрироваться с различными IDE, такими как PHPStorm и Visual Studio Code, обеспечивая удобное использование отладки.
Версии модуля Xdebug в ServBay
ServBay поддерживает несколько версий PHP, и для каждой версии предустановлен соответствующий модуль Xdebug. Конкретные версии следующие:
- PHP 5.6, 7.0, 7.1: Xdebug 2.5.5
- PHP 7.2, 7.3, 7.4: Xdebug 3.1.6
- PHP 8.0, 8.1, 8.2, 8.3: Xdebug 3.3.1
- PHP 8.4: Xdebug 3.4.0-dev
Подсказка
Порты Xdebug для каждой версии PHP работают независимо и связаны с номером версии. Например, для PHP 7.2
порт Xdebug — 39072
, а для PHP 8.3
— 39083
.
Как включить модуль Xdebug
По умолчанию модуль Xdebug отключен. Шаги для его активации крайне просты: перейдите в меню Язык
- PHP
, выберите версию PHP, для которой хотите активировать модуль, например, PHP 8.4
, нажмите справа на Расширения
и включите переключатель слева от модуля Xdebug
, затем сохраните изменения.
Пользователи также могут вручную изменить или включить конфигурацию модуля, следуя нижеуказанным шагам:
Шаг первый: Найдите файл конфигурации
Сначала найдите каталог conf.d
для соответствующей версии PHP. Например, для активации Xdebug для PHP 8.3 нужно отредактировать следующий файл:
/Applications/ServBay/etc/php/8.3/conf.d/xdebug.ini
Шаг второй: Отредактируйте файл конфигурации
Откройте файл xdebug.ini
и снимите комментарий со следующей строки:
[Xdebug]
; Uncomment the following line to enable XDebug
zend_extension = xdebug.so
2
3
Шаг третий: Настройте параметры Xdebug
Чтобы в полной мере использовать возможности Xdebug, настройте в xdebug.ini
несколько стандартных параметров. Например:
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=39083
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
Шаг четвертый: Перезапустите сервис PHP
В панели управления сервисами ServBay перезапустите соответствующий сервис PHP. Например, перезапустите сервис PHP 8.3. После перезапуска модуль Xdebug будет успешно загружен.
Проверка успешности загрузки модуля Xdebug
Для проверки успешности загрузки Xdebug можно создать простой PHP-файл. В корневом каталоге веб-сервера создайте файл phpinfo.php
со следующим содержимым:
<?php
phpinfo();
?>
2
3
Доступ: https://servbay.host/phpinfo.php
. На отображаемой странице информации PHP найдите сведения о модуле Xdebug. Если они отображаются, значит, модуль успешно загружен.
Настройка Xdebug в PHPStorm
Для использования Xdebug в PHPStorm следуйте указанным ниже шагам:
Шаг первый: Откройте PHPStorm и зайдите в настройки
- Откройте PHPStorm.
- Щелкните в меню на
File
, затем выберитеSettings
(Windows/Linux) илиPreferences
(macOS).
Шаг второй: Настройка интерпретатора PHP
- В окне настроек перейдите в
Languages & Frameworks
->PHP
. - В разделе
CLI Interpreter
нажмите кнопку...
справа. - В открывшемся окне нажмите значок
+
, чтобы добавить новый интерпретатор PHP, выберитеLocal
. - Установите путь к интерпретатору PHP от соответствующей версии в ServBay, например,
/Applications/ServBay/package/php/8.3/8.3.7/bin/php
. - Нажмите
OK
для сохранения настроек.
Шаг третий: Настройка отладки Xdebug
- В окне настроек перейдите в
Languages & Frameworks
->PHP
->Debug
. - В разделе
Xdebug
, установитеDebug Port
на39083
, соответствующий настройкеxdebug.client_port
. - Убедитесь, что пункт
Can accept external connections
отмечен. - Нажмите
Apply
, затемOK
для сохранения настроек.
Шаг четвертый: Настройка сервера PHP Web
- В окне настроек перейдите в
Languages & Frameworks
->PHP
->Servers
. - Нажмите
+
справа, чтобы добавить новую конфигурацию сервера. - Установите имя сервера, например,
ServBay Localhost
. - Установите
Host
в соответствии с хостом в ServBay, например,servbay.new
, порт 443 (HTTPS). - Установите
Debugger
наXdebug
. - Нажмите
OK
для сохранения настроек.
Шаг пятый: Запуск сеанса отладки
- В PHPStorm откройте PHP-проект, который хотите отладить.
- Установите точки останова в коде (щелкните по пустой области слева от номера строки).
- Нажмите кнопку
Start Listening for PHP Debug Connections
(иконка жучка) в верхней панели инструментов PHPStorm. - В браузере перейдите к вашему PHP-приложению, Xdebug автоматически подключится к PHPStorm и приостановит выполнение на точках останова.
Заключение
ServBay предлагает простой способ управления и активации модуля Xdebug. Через простую настройку и перезапуск разработчики могут быстро активировать модуль Xdebug для различных версий PHP, чтобы воспользоваться его мощными возможностями для отладки и анализа, повышая эффективность разработки и поддержки PHP-приложений. Функции точечной отладки, анализа производительности и проверки покрытия кода делают Xdebug незаменимым инструментом для PHP-разработчиков.