Как отладить API в PHP (без использования var_dump (); die ();)

Поэтому я пишу API в php, и я хотел бы использовать инструмент отладки с полным набором услуг. то есть, устанавливать точки останова, просматривать трассировки стека, проверять переменные и т. д. Подобные вещи очень распространены в скомпилированных языках.

Я проверил xdebug, и после настройки его на работу с phpstorm (моей IDE), я был разочарован, обнаружив, что он работает только тогда, когда я run изнутри phpstorm, а не когда я фактически обслуживаю реальные запросы API.

Чтобы добавить к этому дополнительную сложность, на самом деле api db размещаются в vagrant-экземпляре, поэтому, хотя я пишу и редактирую код на своей локальной машине, выполняемый код находится в vagrant-среде виртуальной машины.

Любой другой способ сделать это? Или я должен просто привыкнуть к чему-то вроде print_r();exit; и перезапустить запрос?

2

Решение

Используйте XDebug и настройте его правильно. Вы можете настроить его для работы без запуска кода из PhpStorm довольно легко.

xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.idekey = "vagrant"

Убедитесь, что они установлены. Затем в PhpStorm есть нечто, похожее на значок телефона в правом верхнем углу (вместе с остальными компонентами отладки и запуска на панели инструментов). Убедитесь, что он весь зеленый (т.е. прослушивает соединения).

Вы можете использовать Xdebug для установки точек останова. Он даже будет работать с приложениями CLI, если вы настроите его правильно. Вы даже можете отлаживать код внутри виртуальных машин Vagrant или на удаленных серверах.

Вам просто нужно немного изучить, как настроить IDE. 😉

Больше деталей: http://www.sitepoint.com/install-xdebug-phpstorm-vagrant/

Это может пригодиться для вас: https://www.jetbrains.com/phpstorm/marklets/

И это: https://www.jetbrains.com/phpstorm/help/configuring-xdebug.html

И это: https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

1

Другие решения

Лучший инструмент для отладки PHP — Xdebug. http://xdebug.org/ вот домашняя страница.

0

Php xdebug

Посмотрите на этот пример: http://www.sitepoint.com/install-xdebug-phpstorm-vagrant/

0