有人能解释一下关于mysqli close函数的这个声明吗?

4
在mysqli文档网站上列出的评论之一中,有人说:在实际关闭和释放PHP使用的TCP套接字之前,应始终使用mysqli_kill()函数来关闭。脚本执行后的垃圾回收和mysqli_close()不会自动关闭TCP套接字。否则,套接字将在“等待”状态下保留约30秒钟,任何其他页面加载/连接尝试都只会增加总打开TCP连接数。此等待时间似乎不能通过PHP设置进行配置。此外,从这个版本开始,mysqli创建的链接无法“停用”,并且将继续在进程内存中累积,直到PHP服务器或进程被重新启动,基本上需要将mysqli.max_links = -1。请问这是什么意思?如果应该设置mysqli.max_links,如何设置?是否应该使用mysqli_kill()?
1个回答

4

我认为不太合理,mysql可以通过本地套接字连接

在mysqli::close之前使用mysqli::kill时要小心。

在实际关闭连接之前杀死线程会使连接保持打开状态!而且根据您的max_connections和max_user_connections(默认相同),这可能会导致“Max connections reached for ** user”消息。

来源: http://www.php.net/manual/en/mysqli.kill.php


谢谢,我很感激你的帮助。那么,你有什么建议吗?我应该先使用close,然后再使用kill吗? - mcbeav
只需关闭...你可以使用localhost wamp进行一些测试,并使用show full processlist;监视连接数。 - ajreal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接