Condividi
mysqli_sql_exception (error 2006): MySQL server has gone away in XAMPP
Durante una connessione al database MySql, ricevo l'eccezione "mysqli_sql_exception MySQL server has gone away in" con codice di errore 2006. Cosa significa e come si risolve?
Risolta
4
MySql
23-08-2024
2 Risposte
202 Visite
0
Risposte ( 2 approvate )
L'eccezione MySQL server has gone away in, significa che il motore di database MySql non è raggiungibile per l'host indicato o non riesce a rispondere alla richiesta/query e risulta di fatto disconnesso.
I motivi potrebbero essere diversi, legati al server in cui è ospitato magari, ma non di rado questa eccezione è causata da una query troppo grande che eccede il limite di memoria consentita per l'invio e lo spazio di dati da gestire.
Il miglior modo per risolvere "MySQL server has gone away in" è: aumentare lo spazio di memoria per l'invio e la gestione delle richieste, andate nel file di configurazione my.ini (che si trova nella cartella bin di installazione di MySql), sotto i settaggi [mysqld] (# The MySQL server) cercate la direttiva (riga):
e sostituite il valore di 2 o 4 MegaByte (a seconda la versione di MySql installata) con uno più appropriato per gestire grandi richieste di dati, probabilmente 16Mb possono essere più che sufficienti, in questo modo:
Dopodiché salvate e riavviate il servizio MySql e tutto dovrebbe andare apposto.
Se avete i giusti permessi di accesso al DB MySql interessato dalla "mysqli_sql_exception MySQL server has gone away in" , potete cambiare le dimensioni dei max_allowed_packet consentiti, anche tramite l'istruzione SQL o direttiva da linea di comando
che equivalgono a 16M in bit.