Загрузка...

Полная и актуальная настройка Xdebug + Open Server + PhpStorm

open server

Инструкция по отладке PHP с Xdebug: шаг за шагом

Xdebug — это мощный PHP-расширитель, который позволяет проводить пошаговую отладку, анализировать переменные, профилировать код и значительно повышать качество приложений. В этой инструкции показано, как настроить его с популярным локальным сервером Open Server и IDE PhpStorm.


🚀 Что нужно для начала

✔️ Установлен Open Server с PHP
✔️ Установлен PhpStorm
✔️ Включен модуль Xdebug в PHP
✔️ Базовые знания PHP и IDE


📌 1. Настройка Xdebug в Open Server

В Open Server Xdebug может быть уже установлен, но нужно правильно включить и сконфигурировать его для современной версии (Xdebug 3.x).

  1. Откройте в Open Server настройки PHP:
    Menu → PHP → php.ini (или через панель модулей).
  2. Добавьте или обновите секцию [xdebug] следующими параметрами:
zend_extension = xdebug

[xdebug]
xdebug.mode = debug,develop
xdebug.start_with_request = yes     ; запуск отладки при запросе
xdebug.client_host = 127.0.0.1       ; адрес IDE
xdebug.client_port = 9003            ; порт по умолчанию для Xdebug 3
xdebug.log_level = 0                 ; можно включить логирование
xdebug.output_dir = "%sprogdir%/userdata/temp/xdebug"

📝 В отличие от старых версий Xdebug 2, Xdebug 3 изменил синтаксис и значения параметров (mode, start_with_request). Обязательно используйте именно новую конфигурацию. ([JetBrains][1])

  1. Сохраните файл и перезапустите Open Server.

🧠 2. Проверка установки Xdebug

Чтобы убедиться, что Xdebug активен:

  1. Создайте файл phpinfo.php в корне вашего проекта:
<?php
phpinfo();
  1. Откройте его в браузере через локальный домен (http://localhost/phpinfo.php).
  2. В выводе найдите секцию Xdebug — Version (это подтверждает, что расширение загружено).

🛠️ 3. Настройка PhpStorm для отладки

Конфигурация интерпретатора

  1. Откройте Settings/Preferences (Ctrl+Alt+S)
  2. Перейдите в Languages & Frameworks → PHP
  3. Убедитесь, что выбран правильный PHP-интерпретатор (тот же, что используется Open Server).

PhpStorm автоматически покажет версию PHP и наличие Xdebug. Если Xdebug не виден — пересмотрите конфигурацию php.ini.


📡 Включение отладчика и порт

Перейдите в:

Languages & Frameworks → PHP → Debug

✔ Установите Debug Port: 9003
✔ Включите Can accept external connections (PhpStorm будет слушать входящие подключения от Xdebug)


🗺️ Настройка сервера в PhpStorm

Чтобы Xdebug правильно сопоставлял пути файлов:

  1. Languages & Frameworks → PHP → Servers
  2. Нажмите + и добавьте сервер:
    • Name: любое удобное имя (например, OpenServer).
    • Host: доменное имя проекта (localhost или ваш виртуальный хост).
    • Port: 80 или 443 (в зависимости от протокола).
    • Debugger: Xdebug
    • Поставьте галочку Use path mappings
  3. Укажите локальные пути проекта и путь на сервере (обычно совпадают для локальной среды).

Это важно — без корректного сопоставления PhpStorm не сможет остановиться на брейкпойнтах.


🪲 4. Запуск отладки

  1. В PhpStorm включите Start Listening for PHP Debug Connections (значок жука в панели).
  2. Поставьте брейкпойнт (клик рядом с номером строки).
  3. Откройте страницу в браузере.
  4. При старте сессии отладки PhpStorm предложит принять соединение — подтвердите.
  5. Скрипт остановится на брейкпойнте — теперь вы можете шагать по коду, смотреть переменные, стек вызовов и др.

🔍 5. Отладка браузером (по желанию)

Чтобы запускать отладку через браузер удобно, можно использовать расширение Xdebug helper для Chrome или аналогичное для Firefox. Это позволяет включать/выключать сессию Xdebug одной кнопкой.


📊 6. Профилирование и анализ

Xdebug также умеет профилировать выполнение скриптов (сбор данных о времени и памяти). Для этого:

  1. В php.ini добавьте:
xdebug.mode = debug,develop,profile
  1. После перезапуска Open Server в каталоге xdebug.output_dir появятся файлы профилировщика.
  2. Откройте их в QCacheGrind/KCacheGrind или других анализаторах профиля PHP.

⚠️ Частые проблемы и решения

🔹 PhpStorm не останавливает на брейкпойнте
Проверьте:
✔ корректный порт (9003)
✔ включен слушатель в IDE
✔ настроены правильные серверы и маппинги

🔹 Xdebug не запускается по запросу
Попробуйте установить:

xdebug.start_with_request = trigger

и указать триггер в браузере (XDEBUG_SESSION=PHPSTORM).

🔹 Конфликты портов или блокировка фаерволом
Иногда стандартные порты заняты системой или блокируются. В этом случае можно выбрать другой порт в xdebug.client_port и в PhpStorm.


🧠 Заключение

Правильная настройка Xdebug с Open Server и PhpStorm помогает:

✔ существенно ускорить разработку
✔ быстро находить и исправлять ошибки
✔ анализировать поведение кода до мельчайших подробностей

Эта инструкция актуальна для последних версий Xdebug (3.x) и PhpStorm (2025+), и использует современные принципы конфигурации и отладки в локальной среде.

3 комментария к “Полная и актуальная настройка Xdebug + Open Server + PhpStorm

  1. Здравствуйте.
    Отредактировал файл php.ini согласно вашей инструкции.
    При перезапуске Open Server, все изменения слетают.
    Не знаете, почему так проиходит?

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

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