如何调试 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"