为什么要使用mysqli_close()?

bea*_*ear 12 php mysql

我有什么理由在查询后或脚本结束时关闭连接?

做/不做有什么好处?

Pas*_*TIN 26

连接(如果不是持久的)总是在脚本结束时关闭,因此,理论上,您不需要自己关闭它.

但是,如果您的PHP脚本需要花费大量时间来执行,那么当您不再需要对数据库发出任何请求时,最好关闭连接 - 至少,如果在查询之后进行了长时间的计算.

如果您的应用程序部署在共享主机上,则尤其如此:您的用户帐户通常只能同时打开几个连接.(在共享主机上,同时打开的连接数量可能非常小;私有服务器上的连接数通常更大).


我们经常不关闭自己的连接的原因是:

  • 我们通常不知道我们何时完成了所有查询 - 对于由许多小"块"构成的页面尤其如此; 每一个都独立于其他人,可以自己查询; 那么,什么时候可以关闭连接?
  • 网页通常生成速度非常快,因此我们并不打算关闭与DB的连接.

  • 每当你不关闭你的联系,DBA就会杀死一只小猫. (21认同)
  • 每次我不关闭连接时,PHP 都会为我完成工作 :-p PHP 拯救了小猫!;; 实际上,我对由块组成的页面所说的话非常正确:以任何 CMS 为例:什么时候知道应该关闭连接?在 PHP 代码执行结束时(不是之前,因为某些“块”可能仍需要执行一些 SQL 查询);; 因此,手动关闭连接是非常无用的... ;; 当然,除非您生成一些需要时间且不执行任何数据库查询的内容,例如 PDF 或类似内容。 (2认同)

cle*_*tus 5

好处是如果你要进行长时间运行的处理但是已经完成了对数据库的查询,那么就没有必要保持打开连接.保持用户会话打开(阻止其他请求)也是如此.

一个例子可能是创建一个大的PDF报告.这可能需要20-30秒才能创建和写出文件,但您可以在第一秒获得所需的所有数据.

但是,通常您也可以自动执行此操作(假设连接不是持久的).