不多BB 直接上图
官网内容:要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 null 值给对象变量。
ok,上代码操作一哈
<?php
set_time_limit(0);//测试无需控制超时
$dbh = new PDO('mysql:host=127.0.0.1;dbport=3306;dbname=test', 'root', '111111');
// 在此使用连接
$stmt = $dbh->prepare('SELECT * FROM `user`');
$stmt->execute();
// 现在运行完成,在此关闭连接
$dbh = null;
sleep(60);
?>
说一下笨比操作的地方,一开始没sleep(60),也就是脚本直接就结束了,所以也看不到,哈哈哈哈哈。
加了60之后的:
下面那time=2的就是了,你重新查询下会跟着你的脚本时间走。
这里可以看到你设置了null连接还是在的,这是因为
$stmt = $dbh->prepare('SELECT * FROM `user`');
$stmt->execute();
//它们之间产生了引用关系
就像上面说的确保所有剩余到它的引用都被删除 这个机制就很像垃圾回收机制了,哈哈哈,再来
<?php
set_time_limit(0);//测试无需控制超时
$dbh = new PDO('mysql:host=127.0.0.1;dbport=3306;dbname=test', 'root', '111111');
// 在此使用连接
$stmt = $dbh->prepare('SELECT * FROM `user`');
$stmt->execute();
// 现在运行完成,在此关闭连接
$stmt = null;
$dbh = null;
sleep(60);
?>