PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
You have to
login
to post a new comment.
Настройка PhpStorm + Xdebug
October 03, 2013
Вообще по-старинке я предпочитаю var_dump но бывает что сапортишь что-то такое что.. словом и xdebug бывает полезен.
-
Ставим сам xdebug (углубляться не буду в операционки, суть не в этом)
# ubuntu/debian sudo apt-get install php5-xdebug
-
После установки убедимся что его видно, все тип-топ
php -m | grep xdebug
- Смотрим phpinfo() и ищем там секцию xdebug. Если все хорошо, то она там должна быть, если не хорошо - пробуем перезагрузить веб-сервер или php-fpm, смотря что у вас установлено. Если все равно не хорошо (sic!) - идем гуглить как вообще xdebug устанавливать. В секции xdebug ищем директиву xdebug.remote_port это порт на который будет стучать отладчик по умолчанию (с сервера на клиент отладчика, у нас клиент - это шторм). Его можно понятное дело изменить на ваше усмотрение, поправив значение в конфиге. По умолчанию это порт 9000. Едем дальше.
-
В php.ini нужно добавить от такие инструкции и убедиться что их видно через браузер (тоже самое: если нужно - перезагружаем сервер)
xdebug.remote_enable=true xdebug.remote_port=9000 xdebug.profiler_enable=1 xdebug.profiler_output_dir=/tmp
-
Теперь веб-сервер будет пытаться законнектиться на порт клиента который мы указали в настройках (xdebug.remote_port) при каждой загрузке страницы. Теперь надо поднастроить наш проект в шторме под отладчик. Для этого нужно добавить в проект конфигурацию веб-приложения и удаленной отладки. Ниже скриншоты раскрывающие суть этой магии.
Открываем конфигурацию проекта
Добавляем конфигурацию веб-приложения
Правим её
Если нужно добавляем и правим сервер (хост смотрит на хост нашего проекта)
Правим свойства удаленной отладки (после того как добавили конфиг конечно см. скриншот выше) -
Теперь осталось включить в шторме прослушку порта для отладчика. Для этого ищем кнопку на панели инструментов с телефонной трубкой как на скриншоте (или идем в меню Run и ищем там пункт "Start Listen PHP Debug Connections")
- Теоретически все должно работать на данный момент. Итого мы имеем установленный на сервере xdebug который при каждом запросе страницы отправляет клиенту запрос на порт xdebug.remote_port (из настроек сервера) и клиент отладчика в виде шторма с готовым для подключения отладчика портом. Теперь можно ставить брейкпойнты в любом месте приложения и вызывать выбранный юзкейз в браузере. По достижению брейкпоинта шторм должен всплыть и станут доступны все фичи отладчика. Ссылка на официальную доку.
-
Ещё маленькая деталь, отладчик в шторме должен быть настроен на тот же порт что и xdebug.remote_port. То есть на сервере прописываем куда будем стучать, а в шторме - где будем ловить подключение отладчика. Изменить номер порта в шторме можно в настройках проекта
Comments
No comments here yet.