所以我在php中编写api,我想使用全功能的调试工具。即,设置断点,查看堆栈跟踪,检查变量等。这种事情在编译语言中非常常见。
我已经检查了xdebug,在配置它与phpstorm(我的IDE)一起工作后,我很失望地发现它只适用于我在phpstorm中的run
,而不是在我实际服务时真正的api请求。
为了增加额外的复杂性,api dbs实际上托管在vagrant实例上,所以虽然我在本地机器上编写和编辑代码,但正在运行的代码是在虚拟机流浪的环境中。
还有其他方法吗?或者我应该习惯print_r();exit;
的某些内容并重新运行请求?
答案 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
答案 1 :(得分:0)
Php xdebug
看一下这个例子:http://www.sitepoint.com/install-xdebug-phpstorm-vagrant/
答案 2 :(得分:-1)
可用于php调试的最佳工具是Xdebug。 http://xdebug.org/这是主页。