Ciao a tutti ho fatto un piccolo gestionale che usa una connesione PDO ad un DB Mysql...
Messo online ogni tanto mi da questo errore:
SQLSTATE[08004] [1040] Too many connections
Ho creato una mia classe...
e un file di configurazione che includo in ogni pagina del gestionale
file di configurazione...
dal file di configurazione richiamo la connessione a db... che è la funzione seguentecodice:include_once ($_SERVER['DOCUMENT_ROOT'].'/class/class_project.php'); $class_project = new class_project(); $class_project->connection_db();
non capisco se il problema "troppe connessioni" sia un problema di codice php... o di server...codice:public function connection_db() { // INCLUDO LA CLASSE NestedPDO (estende la classe PDO e permette di fare un rollaback totale... in funzioni che hanno + transazioni separate) include_once($_SERVER['DOCUMENT_ROOT'].'/class/NestedPDO.php'); $this->pdo =""; $HOST = $this->HOST_PROD; $USERNAME =$this->USERNAME_PROD; $PASSWORD =$this->PASSWORD_PROD; $DATABASE =$this->DATABASE_PROD; // PDO $this->pdo = new NestedPDO("mysql:host=" . $HOST . ";dbname=" . $DATABASE, $USERNAME, $PASSWORD); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); } catch(PDOException $err) { die("Errore durante la connessione al database!: ".$err->getMessage() ); } }
ho letto qualcosina in giro su come poter riusare la stessa connessione a db senza crearne sempre una nuova... ma non ci ho capito molto...
non è corretto aprire una connessione ogni volta che apri una pagina? (comprese chiamate ajax varie)
...mi servirebbe qualcuno che mi illumini e mi riesca a dare qualche indicazione su come risolvere questa cosa... o cosa settare.. o guardare su server..non so.. ho spiato nel cpanel.. ma non ho trovato nulla che parli di numero di connessioni...

Rispondi quotando
