Для Xdebug 3 статья не актуальна!
Настройка Open Server
- Редактируем 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 = "" ; Обнуляем ключ, необходимый для старта удалённой отладки
- Перезапускаем OpenServer.
Настройка PhpStorm
-
Убеждаемся, что в Settings → Languages & Frameworks → PHP → Debug для Xdebug прописан порт 9000 и включена опция Can accept external connections:
-
С помощью меню Run → Web Server Debug Validation проверяем настройку отладчика:
Настройка браузера
Для старта отладки из браузера я использую Chrome расширение Xdebug helper, для других браузеров должно быть что-то похожее.
Процесс отладки
-
В PhpStorm включаем прослушку порта отладчика:
-
В нужном месте ставим брикпойнт:
-
В браузере открываем сайт и стартуем отладочную сессию:
- Перезагружаем страницу.
-
При первом старте отладчика, PhpStorm предложит принять входящее соединение, жмём Accept:
И попадаем в отладочный режим:
P.S: Если вам нужно запускать отладку простых php-скриптов прямо из PhpStorm, то нужно в Settings → Languages & Frameworks → PHP добавить список используемых версий PHP и выбрать текущую версию интерпретатора (опция Interpreter).
Комментарии
Все таки на 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/
Возникает ошибка
На тостере советуют прописать ещё вот это: 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 ))
Добрый день.
Столкнулся с проблемой при работе с профайлером от xdebug.
А именно, профайлер создает файлы, которые phpStorm не может прочесть. Пишет, что
Incorrect profiler snapshot format: Incorrect name format
Не знаете случайно, как это можно побороть ?
Спасибо большое, вторые сутки не мог понять что не так, только у вас нашел решение
Добавить комментарий