我有以下代码“无法连接。连接太多”错误的MySQLi
function openDBConn($params){
$conn_mode = $params['conn_mode'];
$db_conn = $params['db_conn'];
//create connections
if(empty($db_conn->info)) {
$db_conn = new mysqli("localhost", $user, $password, "database");
$db_conn->set_charset('UTF8');
$mysqli_error = $db_conn->connect_error;
}
if($mysqli_error !== NULL){
die('Could not connect <br/>'. $mysqli_error);
}else{
return $db_conn;
}
}
//close db connection
function closeDBConn($params){
$db_conn = $params['db_conn'];
$db_conn->close;
}
//used as below
$db_conn = openDBConn();
save_new_post($post_txt, $db_conn);
closeDBConn(array('db_conn'=>$db_conn));
不时,我得到“无法连接。太多的连接”的错误。 当我使用Google Bot扫描我的网站时,这往往会发生。
从MySQL升级到MySQLi后,这个问题似乎就开始了。 有没有关于如何确保所有连接都关闭的建议?
感谢
除非您已明确请求持久连接,否则PHP将在脚本退出时自动关闭连接。这意味着你的网站可能只有很多同时点击,并且你的连接限制太低/不符合你允许的许多apache子进程。 –
在您的数据库控制台中运行'SHOW VARIABLES LIKE'%connect%''查看最大连接数。 – cerd
'$ db_conn-> close;'什么都不做。你需要'()'。 –