Php &引用;无法连接。“连接太多”;MySQLi中的错误

Php &引用;无法连接。“连接太多”;MySQLi中的错误,php,mysqli,runtime-error,Php,Mysqli,Runtime Error,我有以下代码 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");

我有以下代码

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));
函数openDBConn($params){ $conn_mode=$params['conn_mode']; $db_conn=$params['db_conn']; //建立联系 if(空($db_conn->info)){ $db_conn=new mysqli(“本地主机,$user,$password,“数据库”); $db_conn->set_字符集('UTF8'); $mysqli\u error=$db\u conn->connect\u error; } 如果($mysqli_error!==NULL){ die('无法连接
。$mysqli\u错误); }否则{ 返回$db_conn; } } //关闭数据库连接 函数closeDBConn($params){ $db_conn=$params['db_conn']; $db_conn->关闭; } //用法如下 $db_conn=openDBConn(); 保存新帖子($post\u txt,$db\u conn); closeDBConn(数组('db_conn'=>$db_conn)); 有时,我会遇到“无法连接。连接太多”的错误。 当我让谷歌机器人扫描我的网站时,这种情况就会发生

这个问题似乎是从MySQL升级到MySQLi后开始出现的。 对于如何确保所有连接都已关闭,是否有任何建议


谢谢

一些主机有一个硬限制,即允许您有多少个开放数据库连接。也许你想联系你的主人,知道你可以开多少家。对于具有高流量负载的网站,更多连接可能会有所帮助。

您需要增加到MySQL服务器的连接数(默认值仅为100,通常每个页面负载消耗一个连接)

编辑
/etc/my.cnf

最大连接数=250

然后重新启动MySQL

服务mysqld重启


您是否可以直接访问服务器,或者它是托管解决方案

如果您有直接访问权限,可以检查mySQL配置文件,查看允许的连接数并增加连接数


如果您不这样做,您可能希望联系您的Web主机以提高限制,并查看他们是否会遵守。

除非您明确请求持久连接,否则PHP将在脚本退出时自动关闭连接。这意味着您的站点可能同时点击过多,并且您的连接限制太低/与您允许的apache子进程数量不匹配。在db控制台中运行
显示变量,如“%connect%”
,查看最大连接数。
$db\u conn->close什么也不做。您需要
()
^--«。。。这是一个共享服务器,建议的连接数是多少?对于正常负载的普通web服务器,我建议连接数在250到500之间。除此之外,您可能还希望将数据库服务器与web服务器分离。