Re: Bug in xxxxx_close();
| From: | Zeev Suraski | Date: | Tue, 16 Sep 2003 16:09:20 +0000 |
| Subject: | Re: Bug in xxxxx_close(); | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-4499@lists.php.net to get a copy of this message | ||
At 22:16 13/09/2003, Georg Richter wrote:
Hi,
currently I don't have time to analyze or fix it, so I hope someone will take
a look, it affects most of db-extensions which support (optional) default
connection.
Sample:
<?php
for ($i=0;$i<1000; $i++) {
$link = mysql_connect("localhost", "foo", "bar");
mysql_close();
}
?>
doesn't work correct:
Function _close_mysql_link which was registered via
zend_register_list_destructors_ex will be called only 1 time at end of
script. If you specify mysql_close($link) instead, everything works fine.
It's actually by-design(tm).
mysql_close() will close the default link, but $link still holds it open. Every subsequent call to mysql_connect() will reuse this already opened link. If you explicitly use mysql_close($link), or otherwise get rid of $link (like unsetting it) - it should work.
Zeev