note 97521 deleted from mysqli.close by philip
| From: | philip@php.net | Date: | Wed, 02 Sep 2015 23:18:30 +0000 |
| Subject: | note 97521 deleted from mysqli.close by philip | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-203588@lists.php.net to get a copy of this message | ||
Note Submitter: Anonymous
----
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.
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.
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.