当我运行下面的php脚本时,它显示数据库端口在断开连接之前处于time_wait模式2分钟。
PHP代码:
<?php
$db_host = "127.0.0.1";
$db_user = "user";
$db_pass = "pass";
$db_dbase = "database";
$mysqli = new mysqli("$db_host", "$db_user", "$db_pass", "$db_dbase");
$mysqli->close();
?>IPTSTATE
显示接下来的2分钟内time_wait模式下的数据库tcp连接。
我只是想知道如何让它在php脚本完成后立即断开连接?
发布于 2018-01-27 17:08:27
我怀疑这与MySQL的php.ini中设置了Persistent connections有关。
Persistent connections manual page
基本上,一旦连接“关闭”,它就会挂起一段时间,以防它再次被使用(在大型web应用程序中,这是很有可能的)。然后,如果再次需要它,它可以节省创建新连接的时间和资源,因为已经有一个连接在等待。
您要在php.ini中检查的设置包括:
[MySQLi]
; Maximum number of persistent links. -1 means no limit.
; http://php.net/mysqli.max-persistent
mysqli.max_persistent = -1
; Allow or prevent persistent links.
; http://php.net/mysqli.allow-persistent
mysqli.allow_persistent = On更改这些设置可能会更改您所看到的行为。
https://stackoverflow.com/questions/48472966
复制相似问题