簡體   English   中英

“無法連接。 MySQLi中的“連接太多”錯誤

[英]“Could not connect. Too many connections” Error in 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以來,這個問題似乎已經開始。 關於如何確保所有連接都關閉有任何建議嗎?

謝謝

您需要增加與MySQL服務器的連接數(默認值僅為100,通常每個頁面加載消耗一個連接)

編輯/etc/my.cnf

max_connections = 250

然后重啟MySQL

服務mysqld重啟

http://major.io/2007/01/24/increase-mysql-connection-limit/

一些托管人有一個硬性限制,即允許您擁有多少個開放數據庫連接。 也許您想與您的托管人聯系以了解允許您打開多少個主機。 對於具有高流量負載的網站,更多連接可能會有所幫助。

您可以直接訪問服務器還是托管解決方案?

如果您具有直接訪問權限,則可以檢查mySQL配置文件以查看允許的連接數並增加連接數。

如果您不這樣做,則可能要與您的網絡主機聯系,以了解增加限制的情況,並查看它們是否符合要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM