php mysqli::close()

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: Anonymous (24-Apr-2010 05:43)   The mysqli_close() function and object method only remove the ability to use the mysql object again in the script...

Anonymous (24-Apr-2010 05:43)

 

The mysqli_close() function and object method only remove the ability to use the mysql object again in the script, essentially on the surface only nulling out all object parameters.
过程化的mysqli_close()函数和面向对象的方法调用只是不让用户在此后的脚本中再使用mysql对象,基本上只在表面上归零所有对象参数

At least with PHP5.3.2 and Windows connecting by tcp, this differs by the old mysql_close() function in that it does not actually close out the tcp socket being used.  You should always use mysqli_kill() function before mysqli_close() to actually close and free up the tcp socket being used by PHP.  Garbage collection after script execution nor mysqli_close() do not kill the tcp socket on their own.  The socket would otherwise remain in 'wait' state for approximately 30 seconds, and any additional page loads/connection attempts would only add to the total number of open tcp connections.  This wait time does not appear to be configurable via PHP settings.
至少在利用windows的tcp连接的这个版本的php中,旧的函数并没有真正的关闭正在被使用的tcp连接,你应该总是在调用mysqli_close()前使用mysqli_kill()函数,确保释放php正在使用的tcp套接字连接。脚本结束后执行gc要么mysqli_close()是不会自己杀掉这个tcp连接的。这个tcp连接会保持大约30秒的等待状态,期间任何页面的加载或连接的尝试都会增加连接的总数,而这个等待时间似乎在php的配置文件中是不能设置的

Also as of this version, mysqli created links cannot be "deactivated", and will continue to accumulate in process memory until the PHP server or process is restarted, essentially making mysqli.max_links = -1 required.
另外在这个版本中,mysqli创建的连接是不能被设置为无效的,而且连接会在这个进程中积累,知道php服务器或者进程重启,所以可以设置mysqli.max_links = -1

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
安全 关系型数据库 MySQL
【PHP开发专栏】PHP PDO与MySQLi操作数据库
【4月更文挑战第30天】PHP数据库交互的核心是PDO和MySQLi。PDO提供数据访问抽象层,支持多种数据库,强调安全和灵活性;MySQLi则专为MySQL设计,有面向对象和过程化接口。两者都支持预处理语句,防止SQL注入。选择取决于项目需求,如可移植性、特定功能和API偏好。了解其使用有助于编写安全高效的代码。
399 2
|
SQL 关系型数据库 MySQL
php mysqli操作数据库
php mysqli操作数据库
165 0
|
Ubuntu 关系型数据库 MySQL
ubuntu服务器php7.2启用mysqli(不用reboot超简单)
ubuntu服务器php7.2启用mysqli(不用reboot超简单)
477 0
ubuntu服务器php7.2启用mysqli(不用reboot超简单)
|
PHP 数据库
Warning: mysqli_connect()_php链接MySQL8.0_异常
Warning: mysqli_connect()_php链接MySQL8.0_异常
334 0
Warning: mysqli_connect()_php链接MySQL8.0_异常
|
关系型数据库 MySQL PHP
PHP:mysqli对数据库进行CURD增删改查
PHP:mysqli对数据库进行CURD增删改查
281 0
|
PHP 数据库
PHP面试题:单例模式,创建mysqli数据库链接的单例对象
PHP面试题:单例模式,创建mysqli数据库链接的单例对象
339 0
|
PHP 数据库
关于php mysqli函数的一些总结和详细介绍(五)
前言:php是一门入门比较简单的编程语言,同时php有非常多的内置函数。所以对于这些内置函数的理解与掌握就显得尤为重要。接下来我们就分析php的一些内置函数。后续我还会继续为大家整理。 关于phpMysqli函数的理解: 一、什么是php mysqli? php mysqli = php nysqli improved mysqli函数允许您访问数据库服务器。
7343 0
|
PHP 关系型数据库 MySQL
关于php mysqli函数的一些总结和实例(四)
前言:php是一门入门比较简单的编程语言,同时php有非常多的内置函数。所以对于这些内置函数的理解与掌握就显得尤为重要。接下来我们就分析php的一些内置函数。后续我还会继续为大家整理。关于phpMysqli函数的理解: 一、什么是php mysqli? php mysqli = php nysqli improved mysqli函数允许您访问数据库服务器。
2263 0
|
PHP 数据库
关于php mysqli函数的一些总结及实例(三)
前言:php是一门入门比较简单的编程语言,同时php有非常多的内置函数。所以对于这些内置函数的理解与掌握就显得尤为重要。接下来我们就分析php的一些内置函数。后续我还会继续为大家整理。 关于phpMysqli函数的理解: 一、什么是php mysqli? php mysqli = php nysqli improved mysqli函数允许您访问数据库服务器。
1029 0
|
PHP 数据库连接 数据库
关于php mysqli函数的总结与详细介绍(二)
前言:php是一门入门比较简单的编程语言,同时php有非常多的内置函数。所以对于这些内置函数的理解与掌握就显得尤为重要。接下来我们就分析php的一些内置函数。 关于phpMysqli函数的理解: 一、什么是php mysqli? php mysqli = php nysqli improved mysqli函数允许您访问数据库服务器。
1024 0