Отладка PHP c Xdebug в PhpStorm
Чтобы настроить отладку PHP‑приложений через Xdebug и PhpStorm, нужно:
- установить и настроить расширение Xdebug;
- настроить 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‑интерпретатор
- Открываем настройки PHP

- Добавить путь к PHP‑интерпретатору.

- Убедиться, что PhpStorm корректно определил версию PHP.


2. Проект как веб‑приложение
- Настроить Servers и указать, под каким URL доступен проект.

- Задать маппинг: какая папка проекта соответствует корню сайта на сервере.

3. Xdebug в PhpStorm
- Проверить настройки Xdebug в PhpStorm (порт 9000, idekey
PHPSTORMесли требуется). - Включить «Can accept external connections».

- Добавить конфигурацию запуска «PHP Web Application»:
- указать сервер;
- стартовый URL (обычно
/).



Теперь можно:
- ставить брейкпоинты в PhpStorm;

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