Ответ @ Kandy поставил меня на правильный путь, но я развиваюсь локально, используя vagrant, и пришлось сделать следующее, чтобы заставить это работать 1
Настройте Xdebug:
zend_extension=xdebug.so
xdebug.remote_enable = 1
;remote_connect_back will fail because REMOTE_ADDR header won’t be set
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.idekey = "PHPSTORM"
;remote_host is ignored when remote_connect_back is enabled & successful; fallback
;Set to your HOST MACHINE IP
xdebug.remote_host=xx.xx.xx.xx
;provides valuable insight if you can’t connect. Remove when done.
xdebug.remote_log="/tmp/xdebug.log"
Установите remote_host
IP на IP-адрес хоста (для меня использование IP-адреса ifconfig
на гостевой машине не сработало - использовал IP-адрес, полученный из сетевых настроек на хост-машине в качестве remote_host
).
Настроить PHP Storm
- Настройте сервер под,
Settings -> Languages and Frameworks -> PHP -> Servers
если вы еще этого не сделали. (Смотрите скриншот)
Run -> Edit Configurations
и добавить PHP Remote Debug.
- Выберите сервер, который вы создали в # 1
- Установите ключ IDE в PHPSTORM
- (Необязательно)
Settings -> Languages and Frameworks -> PHP -> Debug
Установите флажок «Разрывать первую строку в сценариях PHP» (это может помочь при устранении проблем с отображением пути).
Run -> Debug Vagrant
(или как вы назвали свою конфигурацию на шаге 2)
- Запустите скрипт, который вы хотите отладить (
magento setup:upgrade
в моем случае)
1 Я использую Ubuntu / Trusty64 для справки