Разное → Настройка PhpStorm + Xdebug 2 + Open Server

11.04.2016

Для Xdebug 3 статья не актуальна!

Настройка Open Server

  1. Редактируем php.ini:

    zend_extension = xdebug   ; Подключаем расширение
    xdebug.default_enable = 0   ; Отключаем обработчик ошибок xDebug
    xdebug.remote_enable = 1   ; Включаем возможность удалённой отладки
    xdebug.remote_autostart = 0   ; Отключаем автоматический старт сеанса отладки. Сеанс будет стартовать только когда в запросе есть необходимый параметр
    xdebug.remote_port = 9000   ; Порт, по которому xDebug пытается подключитсья к PhpStorm
    xdebug.remote_connect_back = 1   ; Включаем возможность стартовать сеанс отладки с любого ip адреса
    xdebug.profiler_enable = 0   ; Отключаем режим профилирования
    xdebug.profiler_enable_trigger = 1   ; Включаем режим профилирования только когда в запросе есть необходимый параметр
    xdebug.profiler_output_dir = "%sprogdir%/userdata/temp/xdebug/"   ; Директория для сохранения данных профилирования
    xdebug.profiler_output_name = "cachegrind.out.%H%R"   ; Название файла с данными профилирования
    xdebug.idekey = ""   ; Обнуляем ключ, необходимый для старта удалённой отладки
  2. Перезапускаем OpenServer.

Настройка PhpStorm

  1. Убеждаемся, что в SettingsLanguages & FrameworksPHPDebug для Xdebug прописан порт 9000 и включена опция Can accept external connections:

  2. С помощью меню RunWeb Server Debug Validation проверяем настройку отладчика:

Настройка браузера

Для старта отладки из браузера я использую Chrome расширение Xdebug helper, для других браузеров должно быть что-то похожее.

Процесс отладки

  1. В PhpStorm включаем прослушку порта отладчика:

  2. В нужном месте ставим брикпойнт:

  3. В браузере открываем сайт и стартуем отладочную сессию:

  4. Перезагружаем страницу.
  5. При первом старте отладчика, PhpStorm предложит принять входящее соединение, жмём Accept:

    И попадаем в отладочный режим:

P.S: Если вам нужно запускать отладку простых php-скриптов прямо из PhpStorm, то нужно в SettingsLanguages & FrameworksPHP добавить список используемых версий PHP и выбрать текущую версию интерпретатора (опция Interpreter).

Написанное актуально для
Xdebug 2

Комментарии

Если в Open Server добавить свою закладку в Настройки -> Закладки

Сама закладка будет с такими параметрами:
Имя:
PhpStorm
Выполнить (У вас путь может отличаться):
C:\Program Files (x86)\JetBrains\PhpStorm 2016.1\bin\PhpStorm.exe

сохранить и запустить (или перезапустить) Open Server, то запуская PhpStorm через эту закладку на шаге 2. при нажатии на + и текущий интерпретатор PHP сам определиться и отобразиться в выпадающем списке

Андрей
15.06.2016, 15:55

Возникает ошибка

Cannot accept external Xdebug connection Cannot evaluate expression 'isset($_SERVER['PHP_IDE_CONFIG'])'

На тостере советуют прописать ещё вот это: xdebug.extended_info = 1

можно проще, не создавать конфигурацию в пхпсторме а просто нажать на значек жучка, в браузере включить отладку для страницы и иметь такой пхпини:

; XDebug configuration
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.max_nesting_level = 2000
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/var/log"

с remote_connect_back не нужно указывать хост

Гость
30.07.2016, 10:18

Реально хотябы отладку локального сайта phpdt 2016.2 + opserv + xdebugger, третий день бьюсь. В шторм не приходит окно Accept

Я настраивал по этой инструкции
http://www.angarsky.ru/drupal/otladka-php-xdebug-phpstorm.html

Сейчас не понять в чем проблема.
Каждый раз останавливается на index.php на строке define.
/**
* Root directory of Drupal installation.
*/
define('DRUPAL_ROOT', getcwd());

Раньше был такой косяк, точку остановки ставишь а она после последующих запусков не видна.
Выход: поставить и снять.
Но тут не помогает.

На других проектах, такой проблемы нет.

Оказалось что случайно взвёл опцию в RUN->Break at first line in php scripts ))

Роман
08.12.2017, 22:52

Добрый день.
Столкнулся с проблемой при работе с профайлером от xdebug.
А именно, профайлер создает файлы, которые phpStorm не может прочесть. Пишет, что
Incorrect profiler snapshot format: Incorrect name format

Не знаете случайно, как это можно побороть ?

Дмитрий
12.09.2022, 18:50

Спасибо большое, вторые сутки не мог понять что не так, только у вас нашел решение

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