首页 > 解决方案 > 如何延长我的 Xdebug “会话时间”?

问题描述

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

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

标签: phpxdebug

解决方案


连接1:读取ECONNRESET

以上说明连接是由 Web 服务器/代理终止的,但不是 Xdebug 本身。极有可能是您的网络服务器。

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

检查您的网络服务器设置并查看“超时”类型的选项。可能的设置名称取决于您运行 PHP 的方式:php-fpm、FastCGI 或 Apache 模块。

PS请注意,通过 CLI 调试时,这种超时不适用(因为在这种情况下没有“父观察者进程”)。因此,如果可以 - 尝试以这种方式调试您的代码(当然取决于您的代码/它是如何编写的)。


例如,对于 IIS,您可以在这个旧的 PhpStorm 论坛主题中找到解决方案——检查最后一条评论。

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

这将防止 IIS 过早杀死 PHP 脚本。如果你做类似的设置,你将有大约 700 秒(超过 11 分钟)(见我的截图):

在此处输入图像描述


推荐阅读