为什么我的Netbeans Xdebug会话在一段时间不活动后会超时

Jon*_*Day 8 php debugging xampp netbeans timeout

我喜欢Netbeans帮助我调试我的Magento应用程序的方式(在Win 7 64位的XAMPP中),但我注意到连接似乎在一段时间后超时.断点不再受到攻击,我必须重新启动调试会话,这很烦人.有关如何扩展或禁用调试超时的任何建议?

我在IDE或Xdebug php.ini配置中看不到任何选项.Xdebug文档说明:

当URL变量XDEBUG_SESSION_START = name附加到URL时,Xdebug会发出一个名为"XDEBUG_SESSION"的cookie,并将值作为XDEBUG_SESSION_START URL参数的值.cookie的到期时间是一小时.一小时.

但不建议如何更改到期时间.

Mat*_*son 15

找到php.ini并将以下行添加到xdebug部分.

xdebug.remote_cookie_expire_time = 3600
Run Code Online (Sandbox Code Playgroud)

该数字是cookie保持活动状态的时间(以秒为单位),默认为3600(1小时).我把它设置为36000(10小时),这很好,并鼓励我偶尔重启过程以释放内存.如果你愿意,你可以将它设置为0(无限制),虽然我发现它会导致奇怪的冻结.

请记住重新启动Apache以进行更改.


Raf*_*ael 7

这可能与您的Apache配置有关.

可能的原因是配置的超时,它定义了服务器在什么时间段结束之后没有任何反应...通常是有道理的,但是在调试时你可能只是忙着看一些东西.

我的设置与您的设置略有不同,但也许我可以帮助您.

在apache-folder/sites-available中找到配置与域相关的虚拟主机的文件.在提出的域和协议的标签内

<IfModule mod_fcgid.c>
     AddHandler fcgid-script .fcgi
     IdleTimeout 300
     IPCConnectTimeout 20
     IPCCommTimeout 120
     IdleScanInterval 120
</IfModule>
Run Code Online (Sandbox Code Playgroud)

在我的情况下,这增加了可用的时间段,直到超时将被触发40到120秒.

然后(当然)重启你的apache.

也许这有帮助.

  • 是! 谢谢!经过几个月的处理,我终于找到了正确的搜索词组合来引导我这个答案!较新版本的apache/mod_fcgid使用指令`FcgidIOTimeout`而不是`IPCCommTimeout`.我将我的设置设置为*300*,用于5分钟的怪物调试会话.我同意这是一个与OP不同的问题的答案,但它是我的问题的答案,所以我很高兴. (4认同)