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

所以,MySQL 有wait_timeoutinteractive_timeout. 默认情况下,我们使用 MySQL 连接wait_timeout。我想用于interactive_timeout与用户的连接,因此超时不会干扰用户交互。如何创建交互式连接?

我当前的代码是这样的:

$db_conn = mysqli_connect(HOSTNAME, DBUSERNAME, DBPASSWORD,DATABASE);


天涯尽头无女友
浏览 125回答 2
2回答

慕无忌1623718

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

蓝山帝景

即使您已经阅读了文档,也不是很清楚什么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_timeout. wait_timeout它依赖于其他客户使用的传统。
打开App,查看更多内容
随时随地看视频慕课网APP