在一个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"