【问题标题】:Strange execution time improvement while listening to debug connections侦听调试连接时奇怪的执行时间改进
【发布时间】:2015-07-15 15:47:05
【问题描述】:

版本(不要认为它会很有帮助,但是):

PHP:5.4

阿帕奇:2.2

XDebug:2.3.1

PHPStorm:8.0.1

当我运行我的 PHP Web 应用程序(没有调试侦听或 PHPStorm 工作)时,执行时间(通过 Firebug)约为 1.5 秒。 当我开始监听 PHP 调试连接(通过 PHPStorm)并运行我的应用程序时 - 执行时间下降到 150 毫秒甚至 70 毫秒

我不明白它发生了什么。 PHPStorm 缓存了什么? 什么时候我应该认为是真的?

我不知道您可能需要哪些额外信息,对此深表歉意

更新: 正如 Linus Kleen 所提到的,问题是 XDebug 多次无法打开与客户端的连接,这会降低应用程序的速度

【问题讨论】:

  • 几天前我也经历过这种情况。 xdebug.remote_enable 是否设置为“开”?启用 xdebug 日志记录。您可能会看到很多失败的连接尝试。
  • @LinusKleen,是的,xdebug.remote_enable=on 我在日志中看到很多失败的连接,当没有收听和收听成功时。所以这就是为什么不调试就增加时间的原因?
  • 我认为是的。非常感谢,Linus
  • 那是正确的——如果你已经启用xdebug.remote_autostart = 1 或者 xdebug cookie/参数仍然通过请求传递.. 那么 xdebug 将尝试连接到调试客户端(在你的情况下是 PhpStorm)大约 1其次,只有这样它才会继续执行代码。如果连接没有延迟..或根本不尝试连接,那么就不会有这样的延迟。
  • @LazyOne,感谢您的确认)

标签: php debugging phpstorm xdebug


【解决方案1】:

@LinusKleen 和@LazyOne 提到原因是 xdebug 远程连接。具体来说 - 这些指令:xdebug.remote_enable=on, xdebug.remote_autostart=on

XDebug 正在尝试连接到客户端并在 Listening PHP Debug Connections Disabled 的情况下失败(连接尝试重复数次,大约需要一秒的执行时间)

启用侦听 PHP 调试连接时 - XDebug 成功连接 1 次尝试并且不浪费时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 2017-08-01
    相关资源
    最近更新 更多