Firebird Interbase 连接 - unset() 和 ibase_close()
Firebird Interbase Connection - unset() and ibase_close()
我有一个愚蠢的问题。
unset() 和 ibase_close() 在使用 ibase_connect() 结束与 Firebird 数据库的连接方面有区别吗?
我知道有些人使用 unset() 到 PDO 连接等
喜欢:
$connection = ibase_connect(SOME PARAMETERS HERE);
然后:
unset($connection);
或
ibase_close($connection);
如果它们的行为相同,也许一个函数比另一个函数更快?
我对 PHP 的了解充其量是最基本的,但据我所知两者之间存在明显差异。
函数ibase_close($connection)
会向数据库服务器发送消息,因此服务器释放其连接资源,然后关闭连接,而unset($connection)
只会删除变量$connection
.
我对 PHP 和 firebird-php/interbase 驱动程序的了解不足以确定使用 unset
是否会触发清理或关闭连接,但快速扫描firebird-php 来源没有显示任何此类机制。我的建议是你应该明确地使用 ibase_close
before 你调用 unset
,这样你就可以确保资源(包括服务器端资源)被正确释放。
ibase_close 关闭与 $connection 关联的服务器的非持久连接。 link 上的默认事务已提交,其他事务已回滚。
unset 清除指向实例的指针。
我有一个愚蠢的问题。 unset() 和 ibase_close() 在使用 ibase_connect() 结束与 Firebird 数据库的连接方面有区别吗? 我知道有些人使用 unset() 到 PDO 连接等
喜欢:
$connection = ibase_connect(SOME PARAMETERS HERE);
然后:
unset($connection);
或
ibase_close($connection);
如果它们的行为相同,也许一个函数比另一个函数更快?
我对 PHP 的了解充其量是最基本的,但据我所知两者之间存在明显差异。
函数ibase_close($connection)
会向数据库服务器发送消息,因此服务器释放其连接资源,然后关闭连接,而unset($connection)
只会删除变量$connection
.
我对 PHP 和 firebird-php/interbase 驱动程序的了解不足以确定使用 unset
是否会触发清理或关闭连接,但快速扫描firebird-php 来源没有显示任何此类机制。我的建议是你应该明确地使用 ibase_close
before 你调用 unset
,这样你就可以确保资源(包括服务器端资源)被正确释放。
ibase_close 关闭与 $connection 关联的服务器的非持久连接。 link 上的默认事务已提交,其他事务已回滚。
unset 清除指向实例的指针。