Bunun herkese yardımcı olması durumunda:
Uygulamanın çeşitli bölümlerinden çağrılacak bir işlevde bağlantıları açıp kapattığımda bu hatayı aldım. Çok fazla bağlantımız var, bu nedenle mevcut bağlantıyı yeniden kullanmanın veya atmanın ve böyle yeni bir bağlantı kurmanın iyi bir fikir olabileceğini düşündük:
public static function getConnection($database, $host, $user, $password)
{
if (!self::$instance) {
return self::newConnection($database, $host, $user, $password);
} elseif ($database . $host . $user != self::$connectionDetails) {
self :: $ instance-> query ('KILL CONNECTION_ID ()'); self :: $ instance = null; return self :: newConnection ($ veritabanı, $ host, $ user, $ password); } kendi kendine dönüş :: $ bulut sunucusu; } Öyle görünüyor ki, öldürme konusunda biraz fazla titiz olduk ve eski bağlantıda önemli şeyler yapan süreçler işlerini asla bitiremez. Bu satırları bıraktık
self::$instance->query('KILL CONNECTION_ID()');
self::$instance = null;
ve makinenin donanımı ve kurulumu izin verdiğinden, sunucudaki izin verilen bağlantı sayısını ekleyerek
max_connections = 500
yapılandırma dosyamıza. Bu, şimdilik sorunumuzu düzeltti ve mysql bağlantılarını öldürme hakkında bir şeyler öğrendik.