PHP发生错误时 如何关闭数据库连接

hyxj1220 发布于 2015/12/25 15:21
阅读 1K+
收藏 1
如题,当php发生ERROR级别的错误时,会终止程序。那会如何在ERROR发生时关闭其于数据库的链接呢?
加载中
1
慕容月
慕容月

用register_shutdown_function函数,【不仅仅释放mysql链接用】

以后无论php发生什么致命问题都会执行到这里面的方法,你可以在方法里面加你想要做的事情,链接关闭,文件锁放开之类的。。。。。。

hphper
hphper
恩,这个函数很有用
0
滴答答答
滴答答答
默认是短连接吧  报错。。。自己就关了吧
hyxj1220
hyxj1220
短链接 。 感觉会在超时时 自动关闭,我想立即关闭
0
梦想岛
梦想岛
用mysql事务吧。
0
t
tao766
自己接管php发生error时的句柄,没有记错的话,应该是调用set_error_handler这个函数。
0
eechen
eechen
PHP解释器在脚本退出时,不管是正常退出还是因为错误退出,PHP都会自动关闭数据库连接(短连接),不需要程序关心.连接是否断开可以用netstat观测,比如持久连接是一直保持的:

开源中国首席保安
开源中国首席保安
赞一个!
hyxj1220
hyxj1220
thanks
0
voov
voov

引用来自“eechen”的评论

PHP解释器在脚本退出时,不管是正常退出还是因为错误退出,PHP都会自动关闭数据库连接(短连接),不需要程序关心.

请教 @eechen

“php在连接,主动关闭,超时关闭数据库连接 ” 这部分文档哪里可以看到?

谢谢

eechen
eechen
PHP的运行机制就是在脚本运行结束时自动释放脚本占用的资源.PHP的垃圾回收基于引用计数,如果引用计数减少到零,所在变量的zval容器将被清除.数据库持久连接:http://php.net/manual/zh/features.persistent-connections.php 垃圾回收机制:http://php.net/manual/zh/features.gc.php
0
OSC首席键客
OSC首席键客
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// 在此使用连接

// 现在运行完成,在此关闭连接
$dbh = null;



0
lonyis
lonyis

php 会自己关闭mysql连接

http://php.net/manual/en/function.mysql-close.php

返回顶部
顶部