首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将PHP连接到MySQL作为交互连接,它会使用interactive_timeout而不是wait_timeout吗?

如何将PHP连接到MySQL作为交互连接,它会使用interactive_timeout而不是wait_timeout吗?
EN

Stack Overflow用户
提问于 2020-06-14 12:43:56
回答 2查看 543关注 0票数 1

所以,MySQL有wait_timeoutinteractive_timeout。默认情况下,MySQL连接使用wait_timeout。我想使用interactive_timeout来连接用户,这样超时就不会干扰用户交互。如何创建交互式连接?

我目前的代码是:

代码语言:javascript
复制
$db_conn = mysqli_connect(HOSTNAME, DBUSERNAME, DBPASSWORD,DATABASE); 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-14 12:50:01

超时

“服务器在关闭交互连接之前等待活动的秒数。交互式客户端被定义为使用CLIENT_INTERACTIVE选项对mysql_real_connect()进行操作的客户端。请参见wait_timeout。”

并且,在PHP中:

https://www.php.net/manual/en/mysqli.real-connect.php

票数 1
EN

Stack Overflow用户

发布于 2020-06-14 13:43:43

即使您读过这些文档,也不太清楚interactive_timeout是什么意思。

这意味着,如果交互客户端的连接空闲时间过长,则该连接将自动关闭。这不会干扰任何用户交互,因为如果他们正在运行查询,根据定义,连接不是空闲的。

wait_timeoutinteractive_timeout的默认值都是28800秒(8小时)。因此,客户必须什么也不做,只有保持8小时的连接,然后它超时,因为没有活动。这不太可能影响任何PHP请求,请求一完成就关闭。

文档中也没有提到使用interactive_timeout的唯一现有客户端是mysql命令行客户端

所有用于PHP、Java、ODBC、Python、Perl等语言的连接器都使用常规的wait_timeout。我还没有看到任何连接器可以选择使用interactive_timeout。编程连接器不被认为是交互式的,即使它们连接的应用程序接受用户输入。

即使是新的MySQL Shell客户端也不启用interactive_timeout。它依赖于其他客户端使用的传统wait_timeout

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62372700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档