Установка контрольных точек Xdebug исключительно в командной строке

Я борюсь с скриптом поддержки PHP, и я искал способ использовать xdebug исключительно в командной строке (например, в старой школе gdb), но я не мог понять, как установить точку останова, сделать шаг за шагом, перешагнуть и продолжить. Xdebug запущен и запущен, как phpinfo(); говорит.

Я нашел много документации относительно того, как это сделать, используя Eclipse и другие инструменты, но ни один из них не относится к CLI. Может ли кто-нибудь мне помочь? Моя среда – Centos 6 и Bash.

Любая помощь приветствуется.

Спасибо!

Это действительно возможно. В исходных файлах Xdebug вы найдете каталог под названием «debugclient». В этом каталоге вы найдете очень простой клиент, принимающий необработанные команды DBGP и выдающий результат как XML. Для компиляции вы запускаете:

  • apt-get install libedit-dev (или эквивалент)
  • ./buildconf
  • ./configure –with-libedit
  • делать

Затем вы можете запустить двоичный файл с ./debugclient .

В другой оболочке вы запускаете следующее:

  • экспорт XDEBUG_CONFIG = "idekey = dr"
  • php -dxdebug.remote_enable = 1 yourscript.php

Debugclient видит это соединение, и тогда вы можете выдавать прямые команды DBGP. Для точки останова вы можете, например, установить:

breakpoint_set -i 1 -t line -f file:///path/to/yourscript.php -n 42

-i 1 требуется, чтобы оно увеличивалось, -f – это файл и -n номер строки. После установки точки останова вы можете запустить run -i 2 для перехода к этой строке. Для всех других команд я буду ссылаться на документацию DBGP по адресу http://xdebug.org/docs-dbgp.php