데이터베이스에 연결하려고하면 다음과 같은 오류가 발생합니다.데이터베이스에 연결할 수 없습니다. 연결이 너무 많습니다.
경고 : mysqli :: mysqli() [mysqli.mysqli] : (/ 2002 HY000가) : 소켓 '/var/run/mysqld/mysqld.sock'을 통해 지역의 MySQL 서버에 를 연결할 수 없습니다 (2) in /homez.640/connelho/www/uea/includes/database.php on line 8 MySQL에 연결하지 못했습니다 : (2002) 로컬 MySQL 서버 에 '/ var/run/mysqld를/mysqld.sock '(2)
내가 어떤 SQL 쿼리하기 전에 항상 다음과 같은 연결 방법을 실행
을난 항상 모든 SQL 쿼리 후 다음과 같은 분리 방법을 실행
public static function disconnect($mysqli = NULL, $stmt = NULL) {
if (isset($mysqli)) {
$mysqli->close();
}
if (isset($stmt)) {
$stmt->close();
}
}
내가 https://stackoverflow.com/a/2499660 쳐다 보면서 내 호스팅 제공 업체를 이메일로 전송하고 내 스크립트를 확인하라고 한 한을 "우리는 같은 30 개 MySQL의 연결이 제한 - 우리는 이것을 조정할 수 없으며 스크립트가 제대로 실행되면 왜 발생해야하는지에 대한 이유가 없습니다. " 몇 주 동안 잘 작동하여 갑자기 연결이 끊어졌습니다. 나는이 사이트의 유일한 방문객이다. 내 데이터베이스 클래스를 연결하는 방법과 연결을 해제
예 :
public static function county_select() {
//connect to database
$mysqli = Database::connect();
//write sql statement
$sql = "SELECT id, county FROM Counties ORDER BY country, county ASC";
//prepared statement, stage 1: prepare
if (!($stmt = $mysqli->prepare($sql))) {
die("Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error);
}
//prepared statement, stage 2: execute
if (!$stmt->execute()) {
die("Execute failed: (" . $stmt->errno . ") " . $stmt->error);
}
//prepared statement, stage 3: bind result
if (!$stmt->bind_result($id, $county)) {
die("Binding result failed: (" . $stmt->errno . ") " . $stmt->error);
}
$counties = array();
//prepared statement, stage 5: fetch
while ($stmt->fetch()) {
$counties[] = array("id" => $id, "county" => $county);
}
//disconnect from database
Database::disconnect($mysqli, $stmt);
return $counties;
}
지금은 하루 동안 내 사이트에 연결할 수 없었다. 연결이 만료 될 때까지 얼마나 걸립니까? 어떻게 수동으로 연결을 끊습니까? PHP는 요청이 끝날 때 자동으로 데이터베이스 커넥션을 닫습니다.
'show processlist;'는 mysql 모니터에 모든 활성 연결을 보여줍니다. 원치 않는 연결을 종료하려면'kill '을 사용할 수 있습니다. –