2014-02-12 3 views
8

Этот вопрос касается получения XDebug, работающего в PHPStorm, когда проект выполняется внутри локальной виртуальной машины, использующей Vagrant. Я не нашел никакого исчерпывающего руководства, как это сделать. Применяется к PHPStorm 7.0.PHPStorm + XDebug + Vagrant

вещи, которые я хотел бы покрыли в ответ:

  • Как следует конфигурации XDebug быть установлен внутри виртуальной машины? (xdebug.ini)
  • Нужно ли включать любые дополнительные порты в Vagrantfile?
  • Как установить «сервер» в PHPStorm?
  • Как настроить сопоставление файлов, когда локальные файлы синхронизируются с NFS в Vagrant VM? Нужно ли вообще устанавливать сопоставление файлов?
  • При попытке «проверить удалённую среду» следует выбрать опции «FTP», «на месте» или «смонтированная папка»?
  • Необходимо ли установить расширение для веб-браузера?

Я надеюсь, что это может быть полезно в качестве окончательного руководства, чтобы XDebug работал с PHPStorm в Vagrant.

+0

Также не забудьте открыть «удаленный порт» для входящего трафика на вашем хост-компьютере, если вы используете брандмауэр. –

ответ

6

Как настроить конфигурацию XDebug внутри виртуальной машины? (Xdebug.ini)

Это мой zzz_xdebug.ini файл:

xdebug.remote_connect_back = 1 
xdebug.remote_enable = 1 
xdebug.remote_handler = "dbgp" 
xdebug.remote_port = 9000 
xdebug.idekey = "PHPSTORM" 

Есть ли необходимость включить дополнительные порты в Vagrantfile?

Нет, насколько я знаю,

Как должен «сервер» быть установлен в PhpStorm?

Не знаю, как я настроил этот. Просто указывая на mydomain.dev с отладчиком «Xdebug»

Как настроить сопоставление файлов, когда локальные файлы синхронизируются с NFS в Vagrant VM? Нужно ли вообще устанавливать сопоставление файлов?

Когда PHPStorm достигает в первый раз точки останова, он будет запрашивать сопоставление. Просто выберите свою локальную папку.

При попытке «проверить удалённую среду» следует выбрать параметры «FTP», «на месте» или «смонтированные папки»?

Как я его настроил, PHPStorm считает, что это все локальная папка (на самом деле, это так). Нет FTP, установленная папка, общий диск и т. Д. Просто локальный проект.

Необходимо ли установить расширение для веб-браузера?

Не расширение, но вы можете создать букмарклет для запуска сеанса xdebug, см. this page, чтобы создать его.

Кроме того, в настройках вы должны установить настройку Xebug «Можете принять внешнее соединение» в true (установите флажок). Чтобы начать прослушивание отладочных сообщений, вы должны активировать его в PHPStorm, см. this image.

+2

set remote_connect_back = 0, если вы подключаетесь к машине, отличной от той, на которой работает Vagrant, поскольку Vagrant (или виртуальный бокс по крайней мере) отображает/набирает IP. –