2015-04-22 3 views
2

Так что я пишу api в php, и я бы хотел использовать инструмент отладки полного обслуживания. т. е. устанавливать точки останова, просматривать стеки стека, проверять переменные и т. д. Подобные вещи очень распространены в скомпилированных языках.Как отлаживать apis в PHP (без использования var_dump(); die();)

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

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

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

ответ

0

Лучший инструмент для отладки php - Xdebug. http://xdebug.org/ здесь домашняя страница.

+1

Вы читали этот вопрос? «Я проверил xdebug, и после настройки его для работы с phpstorm (моя IDE), я был разочарован« –

+0

Да, у меня было. Но все же Xdebug - лучшее решение для этого, даже вам это не нравится. – tanaydin

+0

Я думаю, что проблема в английском ... Кто сказал, что мне не нравится xdebug? –

0

Php Xdebug

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

+0

То же самое здесь ... Вы правильно прочитали вопрос? Op уже попробовал xdebug и был разочарован. –

+0

Вы можете установить phpstorm для подключения к xdebug на бродяжнике, а xddebug будет прослушивать ваши брекеты. – maztch

+0

Вы также можете использовать такие инструменты, как php debug bar (используется, например, в системе Yii) – maztch

1

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

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

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

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

Вам просто нужно сделать некоторые исследования, как настроить вашу среду 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