Skip to content

Отладка PHP c Xdebug в PhpStorm

Чтобы настроить отладку PHP‑приложений через Xdebug и PhpStorm, нужно:

  1. установить и настроить расширение Xdebug;
  2. настроить PhpStorm (интерпретатор, маппинг проекта, слушатель Xdebug).

Исходим из того, что у нас есть:

  • PHP 5.2+;
  • PhpStorm;
  • установленный Xdebug (или возможность его поставить).

Настройка Xdebug

1. Находим php.ini

Выполняем:

bash
php --ini

Пример вывода:

text
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\Server\modules\php\PHP-5.6\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Нас интересует строка Loaded Configuration File.

2. Включаем Xdebug в php.ini

В секции Xdebug прописываем, например:

ini
xdebug.idekey = "PHPSTORM"
xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
zend_extension = "<full path to xdebug>.so" ; или .dll под Windows

Если используете OpenServer под Windows — там уже могут быть строки для Xdebug, их имеет смысл закомментировать (;) и использовать свою конфигурацию.

3. Установка через pecl (Linux)

bash
sudo apt-get install php-pear        # ставим pecl
sudo pecl install xdebug             # ставим xdebug

Если видите ошибку phpize: not found, нужно доустановить dev‑пакет:

bash
# для PHP 5
sudo apt-get install php5-dev

# для PHP 7
sudo apt-get install php7.0-dev

и повторить pecl install xdebug.

Настройка PhpStorm

1. PHP‑интерпретатор

  1. Открываем настройки PHP
  2. Добавить путь к PHP‑интерпретатору.
  3. Убедиться, что PhpStorm корректно определил версию PHP.

2. Проект как веб‑приложение

  1. Настроить Servers и указать, под каким URL доступен проект.
  2. Задать маппинг: какая папка проекта соответствует корню сайта на сервере.

3. Xdebug в PhpStorm

  1. Проверить настройки Xdebug в PhpStorm (порт 9000, idekey PHPSTORM если требуется).
  2. Включить «Can accept external connections».
  3. Добавить конфигурацию запуска «PHP Web Application»:
    • указать сервер;
    • стартовый URL (обычно /).

Теперь можно:

  • ставить брейкпоинты в PhpStorm;
  • открывать страницу в браузере с включённым Xdebug (через расширение или GET‑параметр XDEBUG_SESSION_START=PHPSTORM);
  • видеть, как выполнение останавливается в IDE, как в обычном дебаггере.