Newsgroup: it.comp.www.php
Titolo: Errore Too many connections ed eventuale problema legale

Salve a tutti,
ho un servizio di hosting su un provider americano che per ora non
dico fintanto che non ho capito bene le responsabilita' dal punto di
vista tecnico.
Uno dei siti web in hosting da 5 giorni segnala l'errore:
Warning: User xxxxxxxxxx has already more than 'max_user_connections'
active connections in xxxxxxxxxx on line 9
User xxxxxxxxxx has already more than 'max_user_connections' active
connections
da quello che ho letto in giro, il problema dovrebbe dipendere dal
raggiungimento del massimo utenti contemporanei collegati al db con la
stessa stringa di connessione. Mi sono rivolto subito al provider per
segnalare la cosa chiedendogli di resettare il servizio mysql per il
sito in questione ma loro mi hanno risposto picche dicendo che e' un
problema risolvibile con uno script php che uccide ad intervalli di
tempo le connessioni. Per risolvere il problema mi hanno consigliato
di effettuare un show processlist e un kill delle connessioni rimaste
aperte.
A questo punto mi sono girati leggermente gli zebedei perche' se non
ho capito male per poter vedere tutti i processi thread aperti e
ucciderli dovrei avere i diritti di amministratore che non ho sul
server (condiviso con chissa' quanti utenti). Ora tra una botta e una
risposta stanno passando i giorni e il sito e' sempre giu.
Vi sarei grato se mi deste qualche consiglio tecnico su come poter
sbloccare la situazione ed eventualmente anche legale su quali strade
potrebbero esserci per chiedere un risarcimento del danno che sto
subendo considerato che il provider in questione e' negli Stati Uniti.
Grazie
Riccardo

 connections
Il problema potrebbe nascere nel caso tu usassi connessioni persistenti.
In casi normali, la connessione viene chiusa al termine dello script.
Dal punto di vista legale non so che dirti.
Dal punto di vista tecnico, potresti provare ad installare phpmyadmin e da
lě eliminare i processi in eccesso. Sempre che tu riesca ad accedere a
mysql.
Ciao
Marco

 mysql.
Le mie pagine usano connessioni persistenti (credo si possano definire
tali le connessioni create utilizzando il comando mysql_pconnect) ma
alla fine di ogni pagina sto sempre attento a chiuderle
esplicitamente. Daltra parte il sito in questione (ma ne ho 22
funzionanti con lo stesso provider) funziona che e' una meraviglia da
circa due anni e ultimamente stava avendo un buon incremento di
accessi. Forse e' questo incremento che puo' aver creto il
raggiungimento del massimo consentito contemporaneamente oppure
qualche perditempo ha effettuato un attacco (brute force) o
semplicemente si e' messo a cliccare a ripetizione su una pagina che
effettua una query.
Il fatto e' che mysql lascia sempre comunque una connessione in piu'
rispetto al massimo per per utilizzarla e' necessario avere diritti
che io non ho sul database. Phpmyadmin da la possibilita' in
condizioni normali di uccidere i processi ma in questo momento non
riesco ad accedere a phpmyadmin perche' il sistema e' rimasto
bloccato.
Se nei prossimi giorni non mi sbloccano la situazione (sono quasi 24
ore che non rispondono all'ultima mail) vorrei non fargliela passare
liscia ma non so come poter procedere essendo il provider in
California.
Ciao
Riccardo

 esplicitamente.
E' inutile, mysql_close() non chiude le connessioni create da 
mysql_pconnect().
Usa mysql_connect(), dovrebbe risolvere i tuoi attuali problemi.
-- 
Roberto Lupi

 mysql_pconnect().
In questo caso il problema è speculare.
Ossia, tu (riccardone) potresti essere accusato di avere bombato il loro
server a causa di inefficienza di codice.
Prova, come prima cosa, a tirare giù il sito così da non peggiorare la
situazione.
Dopodichè vedi se riesci in qualche modo ad uccidere qualche processo.
Prima di passare alle maniere forti, pensaci bene però.
Ciao
Marco