RUSSIA

Как в PhpStorm настроить Xdebug конфигурация PHP Web Page

Длительное время мне не удавалось подружить отладчик с PhpStorm - далее я буду сокращать - IDE. Мне даже стало казаться что это функция для избранных программистов (LOL). Пересматривая одну статья за другой на разных сайтах, мне наконец удалось найти внятное руководство благодаря которому удалось настроить Xdebag. В этой статье расскажу (на свой лад) как настроить отладчик в связке Mamp и IDE и Xdebag.
Мне нравится Mamp за его простоту, а особенно с надстройкой Pro ещё и за его функциональность, удобное конфигурирование host(ов), по этому в этой заметке опишу процесс настройки Mamp pro 6.3 и PhpStorm 2021.1.
Отмечу - есть три различные конфигурации отладки, это: отладка PHP Web Page (web страницы), там где имеется публичная часть, например: сайт; PHP Script это когда у вас нет публичной части; PHP Remote - используется для отладки приложений размещенных на удаленной машине. Конфигурация PHP Web Page отличается тем, что каждый раз когда вы запускаете отладку, ide открывает новую вкладку в браузере, так как предполагается что вы работаете с отладкой веб страницы, тогда как PHP Script не запускает браузер. О каждой из этих конфигураций я еще напишу. 

Настройки в Mamp

Пользователям Mamp повезло, потому что Xdebug уже имеется в коробке и его настройка сводится к минимальным действия.
Следует понимать, что для каждой версии php и для каждого проекта xdebug настраивается отдельно. По этому, если вы используете множество хостов, то посмотрите какую версию php используете для данного хоста это делается в главном разделе Hosts ➔ General
mampPro
  1. И так, переходим в раздел PHP и ставим галочку на против Xdebug.
  2. Теперь нужно внести некоторые изменения в файле php.ini. Переходим в разделе PHP, выбираем нужную нам версию, нажимаем на кнопку "Open template"
    php-mamp-pro.png
  3. программа покажет окно с предупреждением что бы вы осторожно вносили изменения в данный файл, нажмите "Ок". В данном файле много различных директив для настройки php, что бы быстро найти нужные строки воспользуемся поиском по файлу "cmd + F" (для windows вместо cmd = ctrl) вводим в поле поиска Xdebug и сразу переходим к нужным строкам
    php.ini-mamppro

xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
Я использую стандартный порт 9000, имя хоста "localhost" - если вы используете другое имя хоста, то следует указать свое, возможно у вас имеется много хостов с разным именем (как у меня). Так например если бы я настраивал отладчик для хоста с именем inoob.host (в списке хостов имеется такой), то в дрективе я бы указал вместо localhost ➔ inoob.host, то есть
xdebug.remote_host=inoob.host

Теперь когда нужные изменения внесены, просто закрываем файл, далее в главном окне mamp нажимаем кнопку Save, подтверждаем свои намерения и сервер Apache перезапустится.

Настройки в PhpStorm

В IDE мы будем делать настройки в следующих разделах: Run ➔ Edit Configuration...Preferences ➔ PHP ➔ Debug; Preferences ➔ PHP ➔ Servers
  1. Переходим в пункта Run  ➔ Edit Configuration... нажмите кнопку "+" выбирите PHP Web Page. В поле Name укажите произвольное называние (я люблю называть так же, как называется хост для которого делаю настройку).
    run debug config.png
  2. Теперь нужно добавить конфигурацию сервера, для этого нажмите кнопку меню в пункте Server. Создаем сервер нажатием "+", снова в пункте указываем произвольное называние, прописываем host, это может быть ip адрес локального хоста. Если у вас один хост, то можно просто написать localhost или 127.0.0.1, укажите порт Apache который вы используете в Mamp, по-умолчанию это 8888, но у меня 80 порт, так как я использую ещё и Namo (но это не влияет на настройки), в пункте Debuger выбираем Xdebug. Нажимаем "Ok" и снова "Ok".
    servers.png
  3. Готово!
    debug

Возможный проблемы

Консоль Debuger пуста. Если после запуска debuger(a) скрипт не останавливается на breakpoint(ах) значит debuger не работает, убедитесь что порт в настройках Preferences ➔ PHP ➔ Debug совпадает с портом указанный в php.ini (из пункта 1.)

Кнопка прослушки порт debuger(а) должна быть включена.
Убедитесь что ваш apache работает, mamp запущен.

Возврат к списку
Текст сообщения*
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений