Condividi
mysqli_sql_exception: Cannot assign requested address in
Esegundo ciclicamente diverse query e connessioni al db MySql, ricevo in maniera casuale (non su una query specifica) il seguente errore eccezione di connessione al db:
mysqli_sql_exception cannot assign requested address in
E come se si interrompesse o la connessione al db risultasse occupata (busy), come posso risolvere?
Aperta
2
MySql
07-07-2024
1 Risposta
179 Visite
0
Risposte ( 1 approvate )
Il problema risiede proprio nell'esecuzione di molteplici query per le quali vengono aperte e chiuse (si auspica) diverse richieste di connessioni al db MySql in poche frazioni di secondo, la porta in locale per la connessione al DB è costantemente in esecuzione (running) e di fatto non riesce a gestire tutte queste richieste in così poco tempo perdendo la connessione e generando l'eccezione:
mysqli_sql_exception cannot assign requested address in
Per risolvere è necessario o ridurre il numero di query eseguite quasi in simultanea, oppure cercare di cumularle in una o più query unica (per le INSERT o UPDATE sulla stessa tabella è semplice).
Se però la vostra soluzione per eseguire le query slq non può fare a meno di utilizzare tante aperture di connessioni al db quasi in contemporanea, potete ovviare a questo problema utilizzando una CONNESSIONE PERMANENTE al DB.
Per farlo basta premettere la lettera "p:" all'indirizzo (IP) dell'host ove risiede il server del DB, in questo modo ad es:
La connessione permanente al DB consente di creare una connessione "in cache" che può essere riutilizzata più volte dal client (ad es. il browser) senza bisogna di crearla e distruggerla in continuazione come nel caso di utilizzo di questa domanda, in questo modo risolverete l'eccezione citata.