![](/img/trans.png)
[英]Error : mysqli::real_connect(): (08004/1040): Too many connections [CodeIgniter v3]
[英]“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重啟
一些托管人有一個硬性限制,即允許您擁有多少個開放數據庫連接。 也許您想與您的托管人聯系以了解允許您打開多少個主機。 對於具有高流量負載的網站,更多連接可能會有所幫助。
您可以直接訪問服務器還是托管解決方案?
如果您具有直接訪問權限,則可以檢查mySQL配置文件以查看允許的連接數並增加連接數。
如果您不這樣做,則可能要與您的網絡主機聯系,以了解增加限制的情況,並查看它們是否符合要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.