为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 PHP 作为交互式连接连接到 MySQL 是否会使用 interactive_timeout

如何将 PHP 作为交互式连接连接到 MySQL 是否会使用 interactive_timeout

PHP
天涯尽头无女友 2023-05-26 16:19:14
所以,MySQL 有wait_timeout和interactive_timeout. 默认情况下,我们使用 MySQL 连接wait_timeout。我想用于interactive_timeout与用户的连接,因此超时不会干扰用户交互。如何创建交互式连接?我当前的代码是这样的:$db_conn = mysqli_connect(HOSTNAME, DBUSERNAME, DBPASSWORD,DATABASE);
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

“服务器在关闭交互式连接之前等待其活动的秒数。交互式客户端定义为使用 mysql_real_connect() 的 CLIENT_INTERACTIVE 选项的客户端。


查看完整回答
反对 回复 2023-05-26
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

即使您已经阅读了文档,也不是很清楚什么interactive_timeout意思。

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

wait_timeout和的默认值为interactive_timeout28800 秒(8 小时)。因此,客户端除了在由于不活动而超时之前保持打开连接 8 小时外,什么都不做。这不太可能影响任何 PHP 请求,该请求在请求完成后立即关闭。

文档中也没有提到唯一使用的现有客户端interactive_timeout是mysql command-line client。

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

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


查看完整回答
反对 回复 2023-05-26
  • 2 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信