如何在PHP中调试apis(不使用var_dump(); die();)

时间:2015-04-22 18:17:25

标签: php api breakpoints xdebug

所以我在php中编写api,我想使用全功能的调试工具。即,设置断点,查看堆栈跟踪,检查变量等。这种事情在编译语言中非常常见。

我已经检查了xdebug,在配置它与phpstorm(我的IDE)一起工作后,我很失望地发现它只适用于我在phpstorm中的run,而不是在我实际服务时真正的api请求。

为了增加额外的复杂性,api dbs实际上托管在vagrant实例上,所以虽然我在本地机器上编写和编辑代码,但正在运行的代码是在虚拟机流浪的环境中。

还有其他方法吗?或者我应该习惯print_r();exit;的某些内容并重新运行请求?

3 个答案:

答案 0 :(得分:2)

使用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

答案 1 :(得分:0)

答案 2 :(得分:-1)

可用于php调试的最佳工具是Xdebug。 http://xdebug.org/这是主页。