我喜欢Netbeans帮助我调试我的Magento应用程序的方式(在Win 7 64位的XAMPP中),但我注意到连接似乎在一段时间后超时。断点不再受到攻击,我必须重新启动调试会话,这很烦人。有关如何扩展或禁用调试超时的任何建议?
我在IDE或Xdebug php.ini配置中看不到任何选项。 Xdebug文档说明:
当URL变量时 XDEBUG_SESSION_START =附加名称 到一个URL,Xdebug发出一个cookie 名称“XDEBUG_SESSION”和值 XDEBUG_SESSION_START的值 URL参数。到期了 饼干是一小时。一小时。
但不建议如何更改到期时间。
答案 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
的值。