【发布时间】:2021-05-14 01:19:37
【问题描述】:
我有一个愚蠢的问题。 unset() 和 ibase_close() 在使用 ibase_connect() 结束与 Firebird 数据库的连接方面有区别吗? 我知道有些人使用 unset() 到 PDO 连接等。
喜欢:
$connection = ibase_connect(SOME PARAMETERS HERE);
然后:
unset($connection);
或
ibase_close($connection);
如果它们的行为相同,也许一个函数比另一个更快?
【问题讨论】:
-
按照常识,销毁对象和释放内存(后者)与丢失引用和泄漏内存(前者)之间的区别。然而,PHP 或 PDO 中可能有一些自动魔术技巧,例如 ARC,谁知道呢?其实不要问自己亲眼所见!希望您拥有 Firebird 2.5 或更新版本,即具有 TraceAPI 的版本。使用像 FBprofiler.sf.net 或 IBExpert Personal 这样的程序,设置跟踪过滤器以包含连接/断开连接事件,开始记录 - 并查看
unset是否会导致 FB 服务器上的断开连接事件。 -
我猜预期用途就像
$conn2 = $connection; unset($connection); ....do something else in other subroutines.... ibase_close($conn2); unset($conn2)
标签: php database-connection firebird unset interbase