- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在用 php 编写一个 api,并且我想使用一个提供全方位服务的调试工具。即设置断点、查看堆栈跟踪、检查变量等。这种事情在编译语言中很常见。
我检查了 xdebug,在将它配置为与 phpstorm(我的 IDE)一起工作后,我失望地发现它只在我从 phpstorm 中运行
时起作用,而不是当我实际服务真实的 api 请求。
为了增加额外的复杂性,api 数据库实际上托管在一个 vagrant 实例上,因此尽管我在本地机器上编写和编辑代码,但正在运行的代码是在虚拟机 vagrant 环境中。
还有其他方法吗?还是我应该习惯于 print_r();exit;
并重新运行请求?
最佳答案
使用 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
关于php - 如何在 PHP 中调试 api(不使用 var_dump();die();),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805809/
我是一名优秀的程序员,十分优秀!