如何在 PHP 中调试 cURL 请求


How can I debug a cURL request in PHP?

在一个Slave站点内,我有一个脚本,它执行cURL请求与我的服务器(Master(。
在本地,我已经安装了这两个站点,我希望调试Slave尝试连接它时Master上发生的情况。
理想情况下,完美的解决方案是将我自己的请求附加到 PHPStorm 调试器,这样我就可以真正看到发生了什么。

我尝试启动调试,但随后 PHPStorm 附加到调用脚本,而不是接收站点。

您对如何实际调试它有任何建议,而无需依赖旧的var_dump();die();吗?

好吧,归根结底,PHPStorm 依赖于一个 cookie 来附加到传入的请求.
默认情况下,此类 cookie 具有以下值:XDEBUG_SESSION=PHPSTORM

这意味着您只需将以下行添加到代码中:

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: XDEBUG_SESSION=PHPSTORM"));

PHPStorm 将"看到"传入的请求,允许您对其进行调试。

附加提示

前面的技巧在任何地方都有效!
如果您尝试从命令行调试 cURL 请求,您只需传递 cookie 参数,PHPStorm 将附加到请求:

--cookie "XDEBUG_SESSION=PHPSTORM"