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

时间:2010-11-09 23:29:10

标签: php debugging netbeans timeout xampp

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

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

  

当URL变量时   XDEBUG_SESSION_START =附加名称   到一个URL,Xdebug发出一个cookie   名称“XDEBUG_SESSION”和值   XDEBUG_SESSION_START的值   URL参数。到期了   饼干是一小时。一小时。

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

4 个答案:

答案 0 :(得分:15)

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

xdebug.remote_cookie_expire_time = 3600

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

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

答案 1 :(得分:7)

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

可能的原因是配置的超时,它定义了服务器在什么时候没有发生任何事情后结束进程的时间......通常很有意义,但是在调试时你可能只是忙着看一些东西。

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

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

<IfModule mod_fcgid.c>
     AddHandler fcgid-script .fcgi
     IdleTimeout 300
     IPCConnectTimeout 20
     IPCCommTimeout 120
     IdleScanInterval 120
</IfModule>

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

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

也许这有帮助。

答案 2 :(得分:1)

我有同样的问题。我通过更改 FcgidIOTimeout 而不是 IPCCommTimeout 解决了该问题。

Linux 环境中:

查找:

sudo grep -rnw '/etc' -e 'IfModule mod_fcgid.c'

结果

/ etc / apache2 / someconfiguration:34:

/etc/apache2/mods-available/fcgid.conf:1:

查找此行:

<IfModule mod_fcgid.c>

FcgidIOTimeout 45

</IfModule>

添加/更改为:

<IfModule mod_fcgid.c>

FcgidIOTimeout {some time value you want: 3600}

</IfModule>

答案 3 :(得分:0)

对于那些使用php-fpm的用户,请尝试在您的php-fpm ini文件中增加request_terminate_timeout的值。