1. установить модуль xdebug (шаги установки MAC)
1.1.1. проверьте, какую версию PHP можно использовать с помощью php --ini
(см. загруженный файл)
1.1.2. brew search xdebug
1.1.3. brew установить phpXX-xdebug
1.1.4. подробности: php -i | grep xdebug
1.2. перезагрузить сервер
1.3. конфигурация
1.3.1. sudo find /usr -name 'xdebug.so'
1.3.2. скопируйте путь точного, который вам нужен example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
1.3.3. отредактируйте файл конфигурации, связанный с расширением, который должен быть автоматически добавлен в основной php.ini: subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
1.3.4. добавьте zend_extension
, чтобы быть = путь, скопированный выше
[xdebug] zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so"
Обычный файл должен иметь что-то вроде этого:
[xdebug] zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so" xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_autostart=1 xdebug.profiler_enable=1 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp" xdebug.idekey=PHPSTORM
2. проверьте свою версию PHP php --ini
3. настройка параметров IDE
предпочтения > языки и рамки > PHP >
3.1. установите уровень языка на правильную версию PHP этого проекта
3.2. установить интерпретатор (установить родительский каталог, где загружается каталог bin исполняемого файла PHP)
3.2.1. нажмите кнопку… > нажмите кнопку + > другой локальный > установить PHP Исследуемый путь,
найти тип пути в терминале: $ which php
example: /usr/local/Cellar/php56/5.6.5/bin/php
4. перезапустить phpstorm
5. теперь позволяет заставить его работать
5.1. запустить > изменить конфигурацию > нажмите зеленую кнопку + в левой части > выберите b. веб-приложение php
5.2. name: anything example ur {имя приложения — отладчик}
5.3. server: localhost (browse > + > name: whatever | host: localhost или 127.0.0.1)
5.4. нажмите ОК
5.5. start url: ссылка главной страницы проекта ur: http://127.0.0.1:80/SomethingNew/
5.6. нажмите ОК
6. теперь установите точку прерывания и нажмите кнопку отладки
qaru.site
Конфигурация отладчика в PhpStorm
Настраивать отладчик мы будем на примере index.php – начинайте настройку именно с этой страницы, т.к. при запуске движков она обязательно отрабатывает.
В раскрывшемся окне первым делом жмем на значок «+» и выбираем PHP Web Application. Заполняем поле Name, выбираем ваш любимый браузер для разработки и в качестве Start URL указываем страницу сайта для стартового запуска. Обратите внимание, что указывается относительный путь.
Следующим шагом будет конфигурирование Server. Опять же жмем «+», заполняем Name, Host и Use path mappings. Заполняем все по аналогии со следующим скриншотом и жмем «ОК».
Аналогичным нажатием на «ОК» завершаем конфигурацию и PHP Web Application. Если все сделано верно, то можно приступать к пробному запуску. Для этого ставим Breakpoint (по-русски, «точка остановки») и жмем иконку запуска дебаггера.
Если все сделано верно, то вас перебросит в выбранный браузер, где начнет загрузку страница вида:
http://www.angarsky.loc/?XDEBUG_SESSION_START=10098
.Буквально сразу у вас замигает иконка PhpStorm на панели Windows. Переходим в PhpStorm и видим следующую картину.
Теперь более подробно о том, что я отметил маркерами:
- Стек функций, который прошел скрипт до нашего Breakpoint’а.
- Список переменных, доступных в данной функции в данный момент исполнения кода.
- Список переменных для отслеживания. Сюда вы можете перетаскивать все необходимые переменные из второй колонки, значения которых необходимо отследить.
- Кнопка остановки отладчика.
- Кнопки для навигации в коде: переход на следующую строку кода, переход к следующей точке остановки. Однако я рекомендую работать с горячими клавишами – о них чуть ниже.
- Указатель строки текущего состояния отладчика.
Чтобы выйти из состояния отладки нажмите «F9». Можете перейти обратно в браузер и убедиться, что страница сайта загрузилось как обычно. Если обновить страницу, то опять сработает дебаггер – это будет происходить до тех пор, пока вы не отключите процесс отладки.
Управление процессом отладки
Ниже приведены комбинации горячих клавиш, необходимых для быстрой отладки кода:
- F7 – переход к следующему шагу кода, выполняя заход во все встречающиеся функции.
- F8 – переход к следующей строке кода, минуя заход в функции.
- F9 – переход к следующему Breakpoint’у или завершение процесса отладки при их отсутствии.
- Shift + F8 – выход из текущей функции.
Для дальнейшего наглядного примера я поставил Breakpoint в своей кастомной функции, отвечающей за изменение комментариев.
Как вы можете заметить стек функций уже гораздо больший, нежели в первом примере. Теперь небольшое пояснение по горячим клавишам.
Собственно сейчас отладчик находится на строке 15. Если «шагать» по коду, используя клавишу F7, то вы через два шага вы окажетесь в функции
. При использовании клавиши F8 функция drupal_get_path()
будет выполнена в фоне, а вы сразу окажетесь на строке 18. При нажатии комбинации Shift + F8 вы выйдете из текущей функции и окажитесь в drupal_get_path()
на 1222 строке (см. стек функций). Таким образом, для быстрой отладки необходимо владеть всеми этими приемами.theme()
Отладка PHP ошибок
Любой разработчик рано или поздно сталкивается с ошибками в коде. Серьезные ошибки Drupal выводит в сообщениях статуса, предупреждения (PHP warnings) логирует в журнале. Именно для устранения ошибок нам и пригодится отладчик. Для начала выясняем, на каком этапе появляется ошибка (название функции и номер строки) и устанавливаем Breakpoint в данное место. Запускаем отладчик и начинаем поиск ошибки:
- проверяем все переменные, массивы, объекты;
- анализируем их изменение в теле функции;
- переходим на вышестоящие в стеке функции (по клику мыши названию функции в нижнем левом окне по), смотрим, какие данные передаются в текущую функцию;
- расстанавливаем новые Breakpoint’ы, если это необходимо.
Устранение ошибок может занять как от нескольких секунд, так до нескольких часов, особенно, если разработчик слабо знаком с архитектурой Drupal. Навык отладки приходит со временем – я, как бы хотел, не смогу объяснить в рамках данного поста все нюансы. Однако дам несколько советов, которые, возможно, позволят сэкономить несколько минут:
- при установке Breakpoint на массив – размещайте его на строке с первым элементом массива, иначе он не отработает;
- используйте условные Breakpoint’ы – «Edit» в раскрывающемся меню по левому клику мышки (например, условие «$variables[‘id’] == 2»);
- изменяйте файлы ядра, только если у вас подключен Git (или другая система контроля версий) для того, чтобы после отладки без проблем откатить ядро в первозданный вид;
- для быстрого перехода в функцию используйте клик мышкой по ее названию с зажатой клавишей Ctrl.
Собственно на этом теория заканчивается и вам пора переходить к практике. Еще раз повторюсь, не переживайте о предстоящем затраченном времени – умение работать с отладчиком вам не раз еще пригодится. Надеюсь, материал окажется хоть для кого-то полезным – уведомьте меня тогда, пожалуйста, об этом в комментариях!
www.angarsky.ru
На данный момент, PhpStorm – одна из лучших IDE для разработки на языке PHP, которая предоставляет множество возможностей для разработчика, такие как запуск PHP-скриптов, благодаря возможности подключения внешнего интерпретатора PHP и отладку через расширение Xdebug.
В этой статье мы рассмотрим возможность подключения интерпретатора PHP, отладчика Xdebug к PhpStorm и использование встроенного в IDE web-сервера.
Начнем с установки отладчика Xdebug в PHP.
Установка Xdebug
Первым делом скачаем и установим сам интерпретатор PHP по ссылке: http://php.net/downloads.php
Далее нужно произвести начальную настройку PHP и прописать в переменную окружения PATH путь к интерпретатору. Чтобы не повторяться, весь необходимый порядок действий мной описан в этой статье: Установка Composer и снятие ограничения количества обращений к GitHub
Теперь можно перейти к установке отладчика Xdebug, для которого существует специальный помощник, значительно упрощающий процедуру установки. Для его использования перейдем по ссылке: https://xdebug.org/wizard.php
На этой странице, необходимо ввести в поле ввода информацию об установленном PHP-интерпретаторе, которая генерируется с помощью PHP-функции phpinfo(). Вводить нужно весь скопированный текст со страницы.
Или, введя в консоль команду php -i, которая генерирует информацию о PHP.
Копируем полученную информацию, нажимаем кнопку Analyse my phpinfo() output и получаем инструкцию по установке Xdebug.
В зависимости от вашей версии PHP и пути установки инструкция может отличаться от моей:
- Скачиваем библиотеку Xdebug для PHP версии 5.6.19 по ссылке: php_xdebug-2.4.0-5.6-vc11-nts.dll
- Перемещаем её в папку C:phpext
- В файл C:phpphp.ini находим секцию Dynamic Extensions и добавляем следующую строку:
zend_extension = C:phpextphp_xdebug-2.4.0-5.6-vc11-nts.dll
Подключение интерпретатора PHP к PhpStorm
Теперь перейдем в PhpStorm и откроем настройки комбинацией клавиш Ctrl+Alt+S.
Далее, в секции Languages & Frameworks выберем пункт PHP. В этой секции необходимо назначить интерпретатор для IDE в пункте Interpreter нажав на кнопку …
В открывшемся окне, в поле Name вводим любое имя для удобства дальнейшей идентификации, например: PHP 5.6.11.
В поле PHP executable указываем путь до интерпретатора, например: C:phpphp.exe. Обратите внимание на появившуюся версию PHP и дебагера, что свидетельствует о правильности установки.
Чтобы убедиться в том, что правильно отрабатывает подключенный интерпретатор PHP, создадим в PhpStorm новый проект, добавим к нему файл index.php и запишем в этот файл, например, функцию var_dump([ 1, 2, 3 ]) с переданным в неё массивом.
Нажав правой кнопкой мыши на этом файле, выберем Open in Browser -> Default.
На странице мы видим характерный вывод var_dump(), который генерируется с помощью Xdebug. И, если посмотреть на заголовки ответа через консоль разработчика, то мы увидим, что всё работает верно:
server:PhpStorm 2016.1 X-Powered-By:PHP/5.6.19
Начальная настройка Xdebug и установка его под линукс описана в статье Установка модуля Xdebug для PHP под Ubuntu Linux
Работа с отладчиком Xdebug в PhpStorm
Прежде чем приступит к отладке PHP-скриптов с помощью Xdebug произведем необходимую настройку в файле php.ini. В секции Dynamic Extensions после подключения расширения Xdebug добавим следующие настройки:
xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.profiler_enable=1 xdebug.profiler_output_dir="c:phptmp"
Теперь зайдем в PhpStorm и откроем настройки. Перейдем в Languages & Frameworks -> PHP -> Debug. В секции Xdebug убедимся, что установлены следующие настройки:
Debug port: 9000 Установлен флажок Can accept external connections
Чтобы проверить, что все действия были проведены верно, добавим в уже имеющийся в проекте файл index.php следующий код:
<?php $arr = [ 1, 2, 3 ]; var_dump( $arr );
И поставим точку остановки на переменной $arr.
Теперь запустим отладку этого скрипта, нажав правую кнопку мыши и выбрав пункт Debug ‘index.php’. Если все было сделано правильно, то в PhpStorm появится вывод дебага, как показано на скриншоте.
В итоге, мы получили мощный и удобный инструмент для отладки PHP-скриптов с подключенным интерпретатором PHP, а также возможность запускать скрипты через встроенный в PhpStorm локальный web-сервер.
bogdanov-blog.ru
Установка xDebug
Ставим xdegub на виртуальную машину, предварительно подключившись к ней по ssh через vagrant (vagrant ssh
). Команда для установки xdebug:
sudo apt-get install -y php5-xdebug
При установленном xdеbug информация о нём будет присутствовать в php.ini, проверим, так ли это:
$ php -r "var_dump(phpinfo());" | grep xdebug /etc/php5/cli/conf.d/20-xdebug.ini xdebug xdebug support => enabled xdebug.auto_trace => Off => Off xdebug.cli_color => 0 => 0 xdebug.collect_assignments => Off => Off xdebug.collect_includes => On => On ...
Настройка xDebug php.ini
Host, port и идентификационный номер нужно прописать одинаковые и в настройках php.ini, и в настройках phpstorm.
sudo vim /etc/php5/cli/conf.d/20-xdebug.ini
Конфиг /etc/php5/cli/conf.d/20-xdebug.ini инклудится в php.ini. Поэтому добавляем в этот файл следующие настройки для xdebug (они будут задействованя как для php cli так и для fpm):
xdebug.remote_autostart = on xdebug.remote_enable = on xdebug.remote_connect_back = on xdebug.remote_host = 192.168.15.1 xdebug.remote_port = 9003 xdebug.remote_handler = dbgp xdebug.idekey = wi-backend
Где:
- xdebug.remote_autostart — самая важная строка, отвечает за autostart.
- remote_ host — это реальный Ethernet ip вашей машины (посмотреть можно в
ifconfig
— vboxnet0) - remote_port — задаём так же как и в настройках IDE
- xdebug.idekey — такое же название как и в IDE.
Настройка xDebug phpstorm
Открываем меню File -> Settings.
Настраиваем PHP -> Servers.
Настраиваем как на скриншоте, задавая своё имя для приложения. Там где vagrant path — указываем путь до проекта внутри виртуальной машины vagrant. Путь может как совпадать с путём на основной машине, так может и отличаться и монтироваться в другую папку.
Настраиваем DBGp proxy
Тут всё должно быть понятно, указываем IDE key и Port такие же, как задали в php.ini. В качестве Host указываем ip виртуальной машины, тот что в файле Vagrantfile.
Использование xDebug c PHPStorm
В IDE PHStorm выставляем breakpoints, кликая возле строчек кода. Далее дебаггер будет делать остановку на этих точках.
Запустив в браузере wi-backend.local (хост на vagrant-машине), дебаггер срабатывает для него и останавливается на точках останова (breakpoints). Дебаггер срабатывает, только если он включен в IDE (см. скриншот) — Start/Stop listening for PHP Debug Connections.
То же самое c xDebug для cli.
Выполнение cli-скрипта без xDebug:
bin/cli.php test
Выполнение cli-скрипта с xDebug. Нужно передавать ENV-параметр PHP_IDE_CONFIG
:
PHP_IDE_CONFIG="serverName=wi-backend.local" bin/cli.php test
В нижней части IDE PHPStorm открывается дебаггер, где видны значения всех переменных, а также, что наиболее важно, цепочки вызов с возможностью перехода к каждому вызову.
jeka.by
Думаю, нет нужды объяснять про такой важный инструмент PHP-разработчика, как Xdebug. Знал о нём и я. Только вот руки всё никак не доходили, что бы просто взять и попробовать. Длилось это больше года. А в один прекрасный момент таки испробовал и очень доволен.
Для начала необходимо установить сам Xdebug. На убунте это довольно просто, на макинтоше — тоже. Напишу одну команду под другой, чтобы не растягивать (предполагается, что на маке используется MacPorts)
Ubuntu/Debian:
sudo apt-get install php5-xdebug
Mac:
sudo port install php5-xdebug
В операционной системе Windows всё может зависеть от ситуации. У меня, например, используется XAMPP, и заветная php_xdebug.dll обнаружилась в директории с остальными расширениями, оставалось только раскоментировать его в php.ini
Далее необходимо добавить в php.ini следующую секцию (если её там нет, конечно):
[XDebug] zend_extension = "/path/to/php_xdebug.dll" xdebug.remote_enable = 1 xdebug.remote_port = 9000 xdebug.profiler_enable = 0 xdebug.max_nesting_level = 250
Последняя строка важна для разработчиков, использующих Symfony2 либо шаблонизатор twig. По умолчанию параметр, задающий максимальную вложенность функций, равен 100, и вместе с вышеупомянутыми инструментами (и не только с ними, естественно) будет часто приводить к ошибке вида Fatal error: Maximum function nesting level of ‘100’ reached, aborting!
А с PhpStorm сделаю комикс с картинками. Всё просто, но нужно знать эту последовательность 🙂 Сначала в Settings → PHP устанавливаем интерпретатор. IDE довольно умная, так что потребуется только нажать на кнопку с тремя точками.
Там же недалеко в Settings → PHP → Servers создаём сервер.
После перемещаемся в Run → Edit Configurations
… и создаём свой PHP Web Application
Всё готово. Ставим с коде точку остановки (мышкой, рядом с нумерацией строк исходников) и нажимаем зелёного жука. Любуемся внутренностями переменных 🙂
P.S.: Если в php.ini ещё добавить строку, как показано ниже, то на макинтошах будут в шторме открываться ссылки на файлы из трейсов ошибок и из симфони-профайлера. За Ubuntu и прочие линуксы пока не скажу, надо пробовать.
xdebug.file_link_format = "phpstorm://open?file=%f&line=%l"
morontt.info
PhpStorm содержит удобные инструменты для запуска и отладки php-приложения. Для их использования нужно выполнить определенные настройки проекта.
Первое, что нужно сделать, это настроить сервер. Для этого идем в меню Run -> Edit Configurations… В открывшемся диалоге Run/Debug Configurations нажимаем на + (зеленый плюс) слева вверху и выбираем PHP Web Application. Это позволит использовать для запуска и отладки локальный сервер (предполагаем, что он уже настроен). Далее в правой части:
- Заполняем поле Name (произвольное имя)
- Нажимаем на … (троеточие) правее поля Server. Откроется новый диалог Servers. Здесь снова нажимаем + (зеленый плюс) и в правой части заполняем:
- Поле Name (произвольное имя)
- Host — хост, настроенный для локального сайта
- Port— если не меняли, оставляем по умолчанию 80
- Debugger — выбираем Xdebug или Zend Debugger
- Apply и OK
- Start URL — если корневая директория сайта, оставляем / или вписываем нужный путь
- В поле Browser можно выбрать браузер, в котором будет запускаться приложение
- В Before launch можно настроить дополнительные шаги перед запуском: сторонние скрипты, билдеры и т.д.
- Apply и OK
После этого можно запустить проект выбрав Run -> Run…
Для запуска приложения в режиме отладке нужно дополнительно установить и настроить debugger.
Для установки Xdebug нужно его скачать. Сделать это можно по ссылке https://xdebug.org/download.php. Здесь главное правильно выбрать версию, иначе Xdebug просто не запуститься. Выбирать нужно исходя из установленной версии PHP, разрядности системы и потокобезопасности. В моем случае это была PHP 7.0 VC14 TS (64 bit).
Сохраняем скаченный файл в папку с расширениями для php (что-то вроде C:Program Filesphpext) и добавляем в php.ini:
Это минимальные настройки, необходимые, чтобы Xdebug заработал в связке с PhpStorm. Перезапускаем сервер и проверяем phpinfo(), там должна появится секция xdebug. Если не появилась, значит скорее всего скачали не ту версию Xdebug.
Теперь, чтобы запустить приложение в режиме отладки, нажимаем Run -> Start Listening for PHP Debug Connections, ставим точки остановки или отмечаем Run -> Break at first line in PHP script, и запускаем Run ->Debug…
Откроется браузер со стартовой страницей приложения, но загрузка не закончится. Теперь если вернутся в PhpStorm, там будет открыта Debug панель с отладочной информацией.
blog.rc21net.ru
Содержание
- Установка Xdebug на виртуальный сервер
- Настройка Xdebug в PHPStorm
- Не работает Xdebug, что делать?
Установка Xdebug на виртуальный сервер
Устанавливать Xdebug будем на нашу серверную ubuntu, которые мы установили из прошлых статей на VirtualBox.
Итак для начала логинимся на сервер по ssh, запускаем PuTTY, вводим команду установки.
После установки открываем файл с настройками Xdebug на редактирование /etc/php5/conf.d/xdebug.ini
и добавляем следующие строки
Вкратце пробежимся по каждому параметру:
- xdebug.remote_enable — параметр, позволяющий устанавливать Xdebug контакт с дебаг клиентом, который прослушивает порт и хост, установленные параметрами xdebug.remote_host и xdebug.remote_port.
- xdebug.remote_host — ip адрес хоста, с которого будет запущен дебагер, проще говоря, это — ip адрес вашей машины, на которой у вас установлен phpstorm.
Перезапускаем apache.
На этом наши настройки на сервере закончены, теперь отправляемся в PHPStorm.
Настройка Xdebug в PHPStorm
Переходим на вкладку Run/Debug Configurations через меню Run → Edit Configurations. Жмем на кнопку , из выпадающего списка выбираем PHP Web Application.
В окне настроек сразу присваиваем имя дебагеру и указываем, что дебагер будем запускать из FireFox.
Теперь необходимо выбрать сервер, который позволит PHPStorm связываться с Xdebug. По кнопке откроется окно Servers, на котором добавляем свой собственный сервер с помощью кнопки
. Даем имя серверу, в поле Host вводим localhost, в поле Port — 9000 (порт по умолчанию в Xdebug).
Затем необходимо проверить валидность введенных параметров с помощью кнопки Validate remote environment. Появится новое окошко, в нем выбираем уже созданный сервер для синхронизации файлов (в нашем случае ubuntu-test)
и переходим в его параметры по кнопке
Немного подкорректируем настройки. На вкладке Connection изменяем Web server root URL с ip адреса на доменное имя проекта.
Затем переходим на вкладку Mappings и указываем соответствие путей и папок, где непосредственно лежит Drupal проект.
Применяем настройки и возвращаемся в окно Validate Remote Environment, проверяем валидность введенных параметров. Если у вас сообщение подобно этому, то все сделано правильно.
Закрываем окно и возвращаемся в окно Серверы. Ставим галочку Use path mappings и дописываем путь к корневой папки сайта на сервере.
Подтверждаем изменения и возвращаемся в окно Run/Debug Configurations. Здесь изменяем url сайта в поле Start Url на доменное имя, т.е. для devsite — http://devsite
Закрываем окно, подтвердив изменения, ставим точку останова, например, в index.php и запускаем дебаггер через меню Run → Debug ‘devsite-xdebug’ (Debug + имя сервера для дебага) или по кнопке . Если все настройки введены верно, выполнения скрипта остановится на том breakpoint, который был установлен.
Не работает Xdebug, что делать?
Что делать, если вдруг вы обнаружили, что когда-то удачно настроенный Xdebug перестал останавливать скрипт на брейкпоинтах. После долгих и упорных поисков ничего не обнаружено, validation script прекрасно отрабатывает и показывает следующую картинку
Remote host: 192.168.0.104 — это ip адрес, по которому Xdebug связывается с вашей локальной машиной. Обратите внимание(!), что PHPStorm показывает те настройки, которые выставлены параметром xdebug.remote_host. В данной ситуации выполним следующее:
- идем в конфиг Xdebug (/etc/php5/conf.d/xdebug.ini)
- Перезапускаем apache.
- Ставим брейкпоинт и запускаем дебагер.
и дописываем параметр
Данный параметр будет игнорировать xdebug.remote_host и искать ip адрес машины, запустившей дебаг процесс, в переменной $_SERVER[‘REMOTE_ADDR’].
Если скрипт остановился на нужном брейкпоинте — значит, проблема в неверно указанном параметре xdebug.remote_host и самое время проверить ip локальной машины.
Сделать это можно несколькими способами. Самый распространенный — запустить командную строку cmd и набрать ipconfig. Или же, раз уже запущен дебагер, посмотреть содержимое переменной $_SERVER[‘REMOTE_ADDR’].
Итак, выяснили, что ip адреса отличаются. Корректируем параметр xdebug.remote_host и комментим строку с xdebug.remote_connect_back=1 (либо выставляете значение 0). Если же у вас ip адрес формируется динамически (как в моем случае), то можно вообще оставить параметр xdebug.remote_connect_back=1, при условии, что кроме вас никто не имеет доступ к этому серверу. В противном случае, любой сможет начать дебаг сессию, даже если его ip не совпадает с параметром xdebug.remote_host.
Также распространенной проблемой отказа работы Xdebug являются антивирусы (либо фаерволы). Временно отключите антивирус и проверьте, не блокирует ли он запросы от удаленного сервера (такая ситуация была с avast).
nightdevel.ru
Настройка отладки PHP в OpenServer
Первым делом давайте включим расширение Xdebug в файле конфигурации PHP (php.ini). Для этого идём в меню OpenServer -> Дополнительно -> Конфигурация -> PHP.
Здесь нам нужно найти секцию [Xdebug]. Как правило, она находится в конце этого файла.
Здесь нам нужно раскомментировать (или просто добавить) строки:
zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll" xdebug.remote_enable = 1 xdebug.remote_port = 9000 xdebug.remote_handler = "dbgp" xdebug.remote_connect_back = 1 xdebug.idekey = "PHPSTORM"
Должно получиться так:
После чего нужно сохранить файл (CTRL + S) и перезапустить веб-сервер.
На этом настройка веб-сервера для отладки завершена.
Настройка отладки в PHPStorm
Теперь нам нужно настроить отладку в PHPStorm. Первым делом идём в настройки:
File -> Settings
Здесь в левом меню выбираем:
Languages & Frameworks -> PHP -> Debug
Прокручиваем правую часть до секции Xdebug, и задаём следующие настройки:
- Debug port: 9000
- Force break at first line when no path mapping specified: выключено
- Force break at first line when a script is outside the project: выключено
Сохраняем изменения, нажав на “OK”.
Теперь в верхней правой части программы жмём на такую выпадающую менюшку:
И жмём “Edit Configuration”.
В появившемся окне в левом верхнем углу жмём на плюсик и выбираем “PHP Remote Debug”.
Задаём настройки:
- Name: XDebug
И нажимаем справа от пункта “Servers” на три точки:
В появившемся окне снова жмём на плюсик, и у нас в списке появляется новый сервер. Давайте зададим для него следующие настройки:
- Name: localhost
- Host: localhost
- Port: 80
- Debugger: Xdebug
Сохраняем нажатием на “OK” и завершаем заполнять ранее открытую настройку. А именно:
- Ide key (session id): PHPSTORM
И убеждаемся, что в “Servers” указан только что созданный нами “localhost”.
Сохраняем, нажав “OK”. На этом конфигурация PHPStorm для отладки PHP-приложений с помощью Xdebug завершена.
Настройка отладки в браузере Google Chrome
Дело осталось за малым – нужно только установить расширение для Chrome под названием Xdebug helper.
Заходим в Chrome и переходим по адресу: Xdebug helper
Напротив расширения Xdebug helper жмём кнопку “Установить”.
После того, как расширение установлено в верхнем правом углу Chrome появится значок жучка. Жмём по нему правой кнопкой мыши и нажимаем “Параметры”.
Здесь в пункте IDE key в выпадающем меню выбираем PhpStorm.
И нажимаем “Save”.
На этом предварительная настройка завершена.
webshake.ru