Я не нашел все кусочки этой головоломки в одном удобном месте, поэтому вот мое чуть более полное решение.Это работает для меня с vim 7.3, xdebug 2.0.
Получить плагин vim отладчика
- Файл debugger.py идет в.vim / plugins, который патоген не выполняет автоматически.
- Используйте F5 для запуска vim прослушивания входящих подключений xdebug (по умолчанию порт 9000)
Используйте правильные настройки, связанные с xdebug в php.ini (возможно, используйте альтернативный php.ini).:
[Zend]
zend_extension = /full/path/to/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_port =9000
xdebug.remote_host = localhost
; We have to turn on remote_autostart when running php from
; cli. That's probably a good reason to keep the cli and apache
; versions of php.ini distinct.
xdebug.remote_autostart=1
; idekey can be just about anything, but the value in php.ini needs
; to match the value used in the environment that launches php.
xdebug.idekey=vim_session
- При запуске phpсценарий из командной строки, предустановка среды idekey var в виде
export XDEBUG_IDEKEY = "idekey = vim_session"
НажмитеF5 в vim для запуска прослушивания на remote_port
В оболочке со значением XDEBUG_IDEKEY запустите php с "php {scriptname}"
Таким образом, php загружает php.ini, находит расширение xdebug.so, которое инициализируется этими настройками php.ini.Расширение xdebug перехватывает выполнение скрипта и пытается подключиться к localhost: 9000, где прослушивает расширение vim + python.Как только соединение установлено, расширение xdebug координирует сеанс отладки, а плагин vim создает несколько окон ide-like отладки.Вуаля!
Бонусная ссылка: Я также использую этот скрипт t для запуска php.Он ожидает, пока vim не обнаружит порт отладки, а затем запускает сеанс php.По завершении он печатает код результата и возвращается к следующему циклу (если, конечно, вы не нажмете Ctrl + C).