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

MySQL Discussion :

Erreur : max_user_connections avec un seul visiteur


Sujet :

MySQL

  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut Erreur : max_user_connections avec un seul visiteur
    Bonjour à tous,

    Après de nombreuse recherche vis à vis du max_user_connections qui m'ont, la majorité du temps, ramené sur des problèmes qui concernait des sites ayant de nombreux visiteurs, et ayant pris contact avec l'hébergeur qui me fait part que, de leur coté tout fonctionne parfaitement, je me tourne vers votre aide.

    J'ai refait un site statique pour intégrer une base de donnée qui permet de gérer le produits. Malheureusement une fois mis en ligne et après quelques cliques pour navigué je tombe sur le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_pconnect() [function.mysql-pconnect]: User impress already has more than 'max_user_connections' active connections in /home/impress/public_html/icg2/connect/connect.php  on line 30
    qui comme vous le savez, mentionne que trop de requêtes sont exécuté au même moment. La limite actuelle et de 10, ce qui logiquement devrais être suffisant pour ne pas tomber sur ce message.

    J'en viens donc à la conclusion que je dois avoir mal rédigé mes requêtes SQL pour avoir ce problème (que je n'ai jamais eu auparavant sur d'autre site internet) J'ai tenté la fermeture des requêtes une fois leurs exécutions avec le mysql_close($link); mais cella ne change rien.

    Voilà je ne sais plus vraiment quoi essayer pour le moment, une petite piste ?

    Je vous remercie d'avance de votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Pourquoi utiliser une connexion persistante? Pourquoi ne pas se contenter de mysql_connect?
    mysql_close() ne terminera pas une connexion persistante établie par mysql_pconnect() et la connexion au serveur MySQL ne sera pas terminée avec la fin du script.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut
    Citation Envoyé par kabkab Voir le message
    Bonjour,
    Pourquoi utiliser une connexion persistante? Pourquoi ne pas se contenter de mysql_connect?
    mysql_close() ne terminera pas une connexion persistante établie par mysql_pconnect() et la connexion au serveur MySQL ne sera pas terminée avec la fin du script.
    oui navré, cella proviens d'un changement après, j'étais en connect et j'ai essayer ensuite avec le pconnect, d'où la présence du close.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut
    Bon et bien le problème est résolu... Je ne sais pas trop comment.

    la façon dont je procède c'est que j'utilise les url rewriting et ceci pour charger mes pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(!isset($_GET["p"])){ $_GET["p"]="accueil";}
    if(!file_exists("".$_GET["p"].".php")){ $_GET["p"]="404";}
    ob_start();
    include "".$_GET["p"].".php";
    $content = ob_get_contents();
    ob_end_clean();
    include "template/template.php";
    mysql_close($link);
    ce code est présent dans le fichier index et a chaque fois j'appelle index.php avec en POST la page que je désir charger.

    Afin de ne pas mettre le fichier connect.php dans toutes les pages je l'avais placer dans le fichier index.php et dans ce fichier connect était présent la variable me permettant de faire le lien pour tout les fichiers, images etc... ne devant pas être vus comme une adresse a transformer avec le Rewriting

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      $host="localhost";
    	$user="user";
    	$pass="pass";
    	$bdd ="base_de_donnee";
     
    	$webroot = "http://www.monsite.com";
     
     
    $link = mysql_pconnect($host,$user,$pass) or die("Impossible de se connecter au serveur");
    mysql_select_db($bdd) or die("Impossible de se connecter à la base de donnees");
    Une fois la ligne $webroot = "http://www.monsite.com"; commenté je n'ai plus eu l'erreur de max_user. et si je place le fichier connect.php dans toutes les pages qui sont appelées comme accueil et bien l'erreur ne ce présente plus non plus...

    C'est bien, ça marche mais je ne sais pas du tout pourquoi :S quelqu'un aurait une petite idée ?

  5. #5
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut
    Bon j'ai crié victoire un peu vite... l'erreur persiste

  6. #6
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Je te conseilles de ne pas utiliser mysql_pconnect et de mettre à la place mysql_connect.

  7. #7
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut
    Citation Envoyé par kabkab Voir le message
    Bonjour,
    Je te conseilles de ne pas utiliser mysql_pconnect et de mettre à la place mysql_connect.
    okay je retiens... Mais malheureusement l'erreur persiste. Après une 10ène de rechargement de page je tombe toujours sur l'erreur.

    Par contre je ne comprend toujours pas pourquoi, lorsque je commente le $webroot qui fait le lien vers le css, images, scripts js, etc... je n'ai plus aucune erreur

    je suis prêts à fournir toutes les informations possible pour résoudre ce problème car je dois bientôt rendre des comptes au client

  8. #8
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Après avoir changé mysql_pconnect en mysql_connect, as-tu redémarré ton serveur (je suppose que tu travailles en local) pour fermer toutes les connexions persistantes?

    Autrement, je ne saurais te répondre quant au fait de commenter $webroot=... vu que je ne vois pas ton code complet et comment tu l'utilises plus loin.

    Autre chose, pour un souci de portabilité je te conseille d'écrire !

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $webroot='http://'.$_SERVER['HTTP_HOST'];

    Cette variable globale renseigne sur le contenu de l'en-tête Host: de la requête courante, si elle existe. Ce qui est, à mon avis, beaucoup mieux que d'avoir à l'écrire en "toutes lettres".

  9. #9
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut
    okay merci pour HTTP_HOST

    En ce qui concerne le bug ce n'est pas en local c'est uniquement une fois que le site est en ligne. Je vais essayer de le mettre sur mon site pour voir si le bug proviens du serveur ou bien de mon code.

  10. #10
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 32
    Par défaut
    Après être aller faire un tour dans les logs d'accès je suis tombé sur ceci :
    - - [13/Jul/2010:12:24:59 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 7815 "-" "-"
    - - [13/Jul/2010:12:25:02 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 302 "-" "-"
    - - [13/Jul/2010:12:25:03 -0400] "GET /icg2/media/images/6/pro_4c2bbd01cb0ef.jpg HTTP/1.0" 200 302 "-" "-"
    - - [13/Jul/2010:12:25:02 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 7815 "-" "-"
    - - [13/Jul/2010:12:25:03 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 302 "-" "-"
    - - [13/Jul/2010:12:25:04 -0400] "GET /icg2/media/images/6/pro_4c2bbd01cb0ef.jpg HTTP/1.0" 200 302 "-" "-"
    - - [13/Jul/2010:12:25:03 -0400] "GET /icg2/media/images/6/pro_4c2bbd01cb0ef.jpg HTTP/1.0" 200 7815 "-" "-"
    - - [13/Jul/2010:12:25:02 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 7815 "-" "-"
    - - [13/Jul/2010:12:25:04 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 302 "-" "-"
    - - [13/Jul/2010:12:25:04 -0400] "GET /icg2/media/images/6/pro_4c2bbd01cb0ef.jpg HTTP/1.0" 200 302 "-" "-"
    - - [13/Jul/2010:12:25:04 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 7815 "-" "-"
    - - [13/Jul/2010:12:25:05 -0400] "GET /icg2/media/images/6/pro_4c291200a2ef3.jpg HTTP/1.0" 200 302 "-" "-"
    Une quantité considérable de tentative d'accès à deux images d'un dossier qui lui même n'était pas présent sur le site internet. j'ai ajouté le dossier et l'image et mon erreur max_user n'apparait plus.

    Je trouve ça bizarre que ce soit l'accès à des images qui bouffaient le nombre maximum de connexion possible.

    J'aurais voulu savoir si ça pouvais bien être ça ?

Discussions similaires

  1. debutant: erreur LNK2001 avec la librairie GSL
    Par drill3 dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 13h58
  2. Erreur EACCESSVIOLATION avec des compsts créés dynamiquement
    Par tsikpemoise dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/02/2004, 19h05
  3. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  4. Erreurs IIS avec Multiples Frames avec xmlrad
    Par powerlog dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/07/2003, 13h15

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