$http_worker->onMessage = function($connection, $data){
$pdo = new PDO("mysql:host=".$conf.";dbname=".$conf,$conf,$conf);
....
$connection->send($data);
}
onMessage 中回调函数执行完成, $pdo 是否被自动释放了?
因为发现 define 的常量在进程完成后仍未释放,所以担心 数据库链接 也不会释放,这样就需要处理mysql gone away。
不知哪位有此经验给予个提示: 是否$pdo链接随 onMessage 结束 可自行释放。如果不会自行释放,是否可以手动用代码关闭?谢谢。
备注:因为 workerman 字典的 mysql组件操作数据不便,所以未用,直接用pdo了。
根据PHP的垃圾回收机制: onXXXX 等等回调函数内的临时变量会在函数执行完毕后自动回收。