如何延长Xdebug的“会话时间”?

时间:2019-10-21 10:39:19

标签: php xdebug

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

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

1 个答案:

答案 0 :(得分:2)

  

连接1:读取ECONNRESET

上面的内容表明连接是由Web服务器/代理终止的,而不是Xdebug本身。很有可能是您的Web服务器。

调试网页时,该脚本仍在Web服务器的视线内执行(只是为您暂停执行)。如果Web服务器看到它管理的某个进程/处理程序运行的时间超过了最大持续时间限制,它将简单地将其杀死(以确保没有资源浪费在挂断处理程序上或其他方面)。

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

P.S。。请注意,通过CLI进行调试时,此类超时不适用(因为在这种情况下,没有“父监视程序”)。因此,如果可以的话,请尝试以这种方式调试代码(取决于代码/编写方式)。


对于IIS ,例如,您可以在this old PhpStorm forum thread中找到解决方案-检查最后一条注释。

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

这将防止IIS太早杀死PHP脚本。如果您进行类似的设置(请参阅我的屏幕截图),那么您将需要700秒(超过11分钟)的时间:

enter image description here