我如何扩展我的 Xdebug "session time"?

How do i extend my Xdebug "session time"?

我正在使用 xdebug 为我的公司调试一些代码。有时我正在调试一些东西,调试时间到了,我需要重新启动整个调试过程。

我曾尝试将 xdebug.remote_cookie_expire_time = 36000 放入 php.ini 文件中以将会话延长至 10 小时,但我认为这没有帮助。 我想我应该提到我正在尝试在 chrome.

上进行调试

connection 1: read ECONNRESET

以上说明连接被网络终止 server/proxy 而不是 Xdebug 本身。极有可能是您的 Web 服务器。

当您调试网页时,该脚本仍在网络服务器的眼中执行(为您暂停执行)。如果 Web 服务器发现它管理的某些 process/handler 运行 超过最大持续时间限制,它将简单地杀死它(以确保没有资源浪费在挂断处理程序或诸如此类的事情上)。

检查您的网络服务器设置并查看 "timeout" 种选项。可能的设置名称取决于您如何 运行 您的 PHP:php-fpm、FastCGI 或 Apache 模块。

P.S. 请注意,当通过 CLI 调试时,此类超时不适用(因为在这种情况下没有 "parent watcher process")。因此,如果可以 - 尝试以这种方式调试您的代码(取决于您的 code/how 当然是这样写的)。


例如,对于 IIS,您可以在 this old PhpStorm forum thread 中找到解决方案 -- 查看最后的评论。

  1. 启动 IIS 管理器
  2. 转到FastCGI Settings
  3. Select 您的 PHP 安装,右键单击 -> 编辑...
  4. 现在增加这些参数的值:Activity TimeoutRequest Timeout(我不确定这两个参数是否真的需要,但我就是这么做的)。

这将防止 IIS 过早终止 PHP 脚本。如果您进行类似的设置(请参阅我的屏幕截图),您将有大约 700 秒(超过 11 分钟):