如何使用REST客户端(例如内置于PHPStorm或POSTman的客户端)来使用XDebug?
在我目前的XDebug设置中,使用PHPStorm和Bookmarklet provided我能够在Chrome和Firefox中使用它 - 但是当我尝试使用POSTman或任何其他REST客户端时,我无法弄清楚如何开始。
干杯。
答案 0 :(得分:165)
在实施http://youtrack.jetbrains.com/issue/WI-17031之前,您可以尝试以下方法之一:
配置xdebug(通过编辑php.ini)尝试调试每个 php脚本(xdebug.remote_autostart = 1
)
将xdebug会话启动参数添加到实际网址(XDEBUG_SESSION_START={{KEY}}
- http://xdebug.org/docs/remote),例如:?XDEBUG_SESSION_START=PHPSTORM
将xdebug cookie作为标题之一(例如bookmarklet或浏览器扩展名设置)
要使其正常工作 - 请确保提前激活(Run | Start Listen for PHP Debug Connection
)“手机处理”图标。
答案 1 :(得分:3)
只需在网址末尾添加 ?XDEBUG_SESSION_START=filter_string
,例如:
https://new-supplier.local/api/login?XDEBUG_SESSION_START=PHPSTORM
PHPSTORM 是我的默认过滤字符串,你可以使用任何你想要的。您的编辑器应该设置为按 IDE 键(过滤字符串)过滤连接,仅此而已。您应该能够以与 Chrome 或 FF 相同的方式进行调试。
答案 2 :(得分:2)
这让我发疯了。我刚刚更新到PHP 7.1和xdebug工作不再有效。我更新了xdebug.so
文件(Linux)和php --version
,表明xdebug确实正在加载并正常工作。但是当我使用Postman时,调试器从未启动过。
这是解决方案。如果您使用Apache作为服务器,则需要启用PHP 7.1 mod并重新启动Apache:sudo service apache2 restart
答案 3 :(得分:1)
xdebug.remote_timeout = 60000
为我工作。由于我的Mac很慢,并且远程调试器在200毫秒(默认值)后超时。
答案 4 :(得分:0)
警告!
xdebug> = 3.0更改了php.ini中的参数。 升级xdebug之后,此处的大多数答案都将不相关。
请参阅: https://xdebug.org/docs/upgrade_guide
基本上,您需要在php.ini中添加以下内容:
xdebug.mode=develop,gcstats,coverage,profile,debug
xdebug.start_with_request=1
xdebug.idekey=PHPSTORM
答案 5 :(得分:-3)
https://github.com/tacnoman/dephpugger 这个lib在终端运行调试器(比如Python的ipdb和Ruby的Byebug)。 非常容易使用,并且有一些示例如何运行php cli脚本和webserver。