IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Php, mysqli et l'erreur max_user_connections


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Points : 132
    Points
    132
    Par défaut Php, mysqli et l'erreur max_user_connections
    Bonjour,

    Je possède un hébergement mutualisé chez 1and1. La limite imposée par cet hébergeur est de 12 connexions mysql en même temps.
    Je dépasse souvent cette limite, du coup mon site est inaccessible, je reçois l'erreur : "User xxx already has more than 'max_user_connections' active connections"
    J'aimerai votre aide pour bien comprendre ce que signifie cette erreur.

    Ci dessous ma classe mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    private	$objMysqli;
     
    public function __construct(){
    	$this->objMysqli = new mysqli(xx,xx,xx,xx);
    	if (mysqli_connect_errno()) {
    		die('Down.');
    		//mysqli_connect_error() renvoie "User xxx already has more than 'max_user_connections' active connections"
    	}
    }
     
    public function query($sql){
    	return $this->objMysqli->query($sql);
    }
     
    public function close(){
    	$this->objMysqli->close();
    	unset($this);
    }
    Dans mon site je fais appel à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $mysql = new mysql();
    $res = $mysql->query("SELECT * FROM xx");
    ...
    $mysql->close();

    Mes requetes sont très rapides à s'éxécuter.
    Dans l'erreur "max user connection", est-ce qu'une "user connection" signifie : ouverture d'une socket mysql() + une query + la fermeture close() ?

    Quelles sont les solutions à cela ? A part acheter un serveur dédié..

    Merci !

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Cela signifie que tu as simultanément X connexions à MySQL ouvertes, où X > max_user_connections

    Solutions :
    - N'ouvrir qu'une connexion en début de page, rapatrier les données nécessaires, la fermer aussitôt que possible
    - Choisir un hébergeur qui ne limite pas (autant) les connexions MySQL, exemple : http://www.planethoster.net/Hebergements-Mutualises
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Points : 132
    Points
    132
    Par défaut
    Est-il possible de voir les connexions mysql ouvertes en temps réel ? A travers une lignes de commande ?

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par jeremm Voir le message
    Est-il possible de voir les connexions mysql ouvertes en temps réel ? A travers une lignes de commande ?
    Essaie ça : http://dev.mysql.com/doc/refman/5.0/...ocesslist.html

    Sinon faudra te faire un comptage à la main
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. [PHP-JS] Recherche BDD - erreur
    Par acppca dans le forum Langage
    Réponses: 10
    Dernier message: 24/07/2007, 16h32
  2. Réponses: 1
    Dernier message: 15/06/2007, 02h23
  3. Réponses: 4
    Dernier message: 23/04/2007, 07h24
  4. [Mail] Page php qui se télécharge + erreur
    Par david2511 dans le forum Langage
    Réponses: 22
    Dernier message: 12/03/2007, 18h56
  5. [PHP-JS] gestion des erreurs sur liste déroulente
    Par HwRZxLc4 dans le forum Langage
    Réponses: 9
    Dernier message: 28/05/2006, 03h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo