【问题标题】:How do you debug Guzzle 6 with a debugger?如何使用调试器调试 Guzzle 6?
【发布时间】:2017-01-21 09:03:52
【问题描述】:

我有一些使用 xdebug 的经验,如果迫在眉睫,我什至可以debug PHP with gdb 但 Guzzle 6 太抽象了,我无法轻易找到添加断点的好地方来研究如何 1) 请求标头 2)请求正文放在一起 3) 请求发送到哪里 4) 响应是什么。 (将所有内容包装到流中使这更加不可能)How do you log all API calls using Guzzle 6 回答了其中的一些问题,但这仅在您不破坏 Guzzle 本身时才有帮助-尝试创建中间件时情况并非如此……所以在哪里我可以找到 Guzzle 6 的内部文档吗?调试它的技巧和窍门?

【问题讨论】:

    标签: php debugging guzzle6


    【解决方案1】:

    使用 xdebug 调试 Guzzle 并回答您的问题会更简单。

    一些使用xdebug的说明with PhpStorm,with vim

    它允许调试 PHP 脚本,而不是调试 php 解释器:

    使用您最喜欢的 IDE 在中间件中设置断点,并通过处理程序堆栈设置step-into。可能值得在异常上添加中断。

    如果您需要使用 gdb 来调试 php - 我建议您针对 unittests 进行调试,您可以通过运行单独的测试来排除所有 Guzzle 复杂性。

    Going dipper,您可以使用strace 调试套接字和系统调用,并使用tcpdump 在数据包级别进行调试。

    【讨论】:

    • 假设我的中间件没有被自己破坏;它不会破坏 Guzzle;它不会与其他中间件冲突......所以是的,使用 xdebug 调试 Guzzle 并回答您的问题会更简单。如何?请注意,这就是最初的问题,所以我不太确定这个答案有多大帮助。
    • 公平点。我假设您的中间件已经过单元测试并且没有损坏。我添加了几行如何使用 xdebug 来找出中间件冲突的程度,以至于它没有到达日志中间件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2018-06-13
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    相关资源
    最近更新 更多