xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

Настроил Xdebug в PhpStorm? Напиши на хабр! (с) хаброкоммент

Настройка OpenServer

  1. В используемых версиях PHP открываем php.ini и редактируем настройки:
    zend_extension = "%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
    xdebug.remote_enable = 1
    xdebug.remote_autostart = 0
    xdebug.remote_port = 9000
    xdebug.remote_connect_back = 1
    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).

Написанное актуально для PhpStorm 2016.1
Похожие записи

Комментарии RSS

Все таки на phpstorm перешел?

так точно

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

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

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

для запуска дебага можно обходиться без дополнения, вот https://www.jetbrains.com/phpstorm/marklets/

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

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 не нужно указывать хост

Реально хотябы отладку локального сайта 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 ))

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании