К основному контенту

Отладка с помощью Xdebug в PHPstorm локально, WAMP, Windows

Сколько бы не было создано мануалов на тему отладки - они только частично объясняют как настроить все компоненты. Сейчас я постараюсь рассказать все аспекты настройки дебагера для PHPstorm.



Для примера возьмем проект на Laravel.

Php.ini:
Ищем этот файл примерно по такому пути: C:\wamp64\bin\apache\apache2.4.23\php.ini
Добавляем туда такие строки, внимательно проверяя пути, они могут немного отличаться:

[xdebug]
zend_extension ="c:/wamp64/bin/php/php7.0.10/zend_ext/php_xdebug-2.4.1-7.0-vc14-x86_64.dll"

xdebug.remote_enable = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="c:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.remote_port=9001
xdebug.idekey="PHPSTORM"

Сохраняем, перезапускаем сервер.

В settings в PHPstorm указываем такие параметры:

Настраиваем интерпритатор для той версии php которую вы используете, в данном случае - для 7 версии, укажите корректный путь к PHP:


Переходим на вкладку PHP:



Debug port должен совпадать с указанным в настройках php.ini


Скачиваем и устанавливаем расширение xdebug для браузера, в моем случае - для chrome, вписываем в настройках ключ IDE и включаем его 


Теперь можно включить прослушку соединения и поставить точку останова:


Вот и все!

Комментарии

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

Популярные сообщения из этого блога

ВОПРОС К ЧИТАТЕЛЯМ

Уважаемые читатели моего блога и просто проходящие мимо! У меня появилась идея заняться созданием уроков по интересующим вас темам. Предпочтительно на C++, но не ограничиваясь ими, я хочу поделиться своими знаниями не только в виде готового кода но и подробными объяснениями что к чему. Прошу вас, если вы имеете идею и хотели бы разобраться в какой-то теме - отпишитесь в комментариях, что было бы вам интересно. Постараюсь помочь. 

7 глава, Лафоре Р

*1. Напишите функцию reversit(), которая переворачивает строку (массив типа char). Используйте цикл for, который меняет местами первый и последний символы, затем следующие и т. д. до предпоследнего. Строка должна пере- даваться в функцию reversit() как аргумент. Напишите программу для выполнения функции reversit(). Программа долж- на принимать строку от пользователя, вызывать функцию reversit(), а за- тем выводить полученный результат. Используйте метод ввода, который позволяет использовать внутренние пробелы. Протестируйте программу на примере фразы «Аргентина манит негра».

6 глава, Лафоре Р

*1. Создайте класс Int, имитирующий стандартный тип int. Единственное поле этого класса должно иметь тип int. Создайте методы, которые будут устанавливать значение поля, равным нулю, инициализировать его целым значением, выводить значение поля на экран и складывать два значения типа Int. Напишите программу, в которой будут созданы три объекта класса Int, два из которых будут инициализированы. Сложите два инициализирован- ных объекта, присвойте результат третьему, а затем отобразите результат на экране.