max_user_connection à cause de fopen ?
Bonjour,
Voilà j'obtiens ce fameux message "max_user_connection" de la base de donnée quand je rajoute ce code :
Ou le lien est un lien n'importe sur le web.
$fp = fopen($liste['lien'],"r");
if (!$fp)
{
query('UPDATE films SET signal = 1 WHERE id="' . $id . '"');
echo 'Pas OK';
}
else
{
query('UPDATE films SET signal = 0 WHERE id="' . $id . '"');
echo 'OK';
fclose($fp);
}
Voici le message d'erreur que je peux avoir :
Warning: mysql_connect() [function.mysql-connect]: User my_bddbase1 already has more than 'max_user_connections' active connections in /home.10.11/my_site/www/includes/config.inc.php on line 43
User downstrebase1 already has more than 'max_user_connections' active connections
Ou là ligne 43 n'est autre que simplement le fait de se connecter à la base de donnée.
Je vous avoue que j'ai un peu de mal à comprend pourquoi il me fait cela...
@+
C'est un problème, comme tu dois t'en douter, de nombre de connexions MySQL courantes qui atteint une limite.
Seul ton hébergeur peut régler ce problème.
Il faut savoir que sur une installation par défaut de MySQL (c'est peut-etre toi qui a installé ton propre MySQL), ce nombre est fixé extrêmement bas.
Il suffit alors de l'augmenter dans la configuration de MySQL.
Merci beaucoup pour cette réponse, mais ce que je voulais dire par là, c'est que j'atteignais cette limite en faite uniquement quand j'ajoutais cette fonction.
Sinon j'arrive à avoir 200 personnes en même temps sur le site facilement.
Dés que je l'ajoute les pages commence à mettre du temps (ce qui peut paraitre normal car le fopen essaye d'ouvrir une page venant d'un site free par exemple) mais ce que je ne comprend pas c'est poruquoi j'atteint ce message dés que je le rajoute ?
Est-ce que fopen augmente le nombre de connections sur le site ?
J'ai eu beau chercher sur le site php.net je n'ai rien vu dans la documentation qui faisait par de ce problème.
J'ai bien essayé de mettre un timeout mais rien y change...
J'aurais bien voulu changé par is_file mais le problème c'est qu'il faudrait à cahque fois que je detecte si je cherche à accéder à un dossier pour is-directory ou un fichier pour is_file.
Seule fopen est assez "doué" pour faire ce test.
Ou alors est-ce que tu aurais une autre solution que le fopen ?
@+
Tu n'aurais pas une boucle autour de ton fopen ??
Non justement c'est là que je ne vois pas...
Mon but étant juste de savoir si le site est disponible ou pas.
<b style="color:#3366ff">' . nl2br(stripslashes($liste['description'])) . '<br />
<font color="#55608d">Par</font> ' . $liste['login'] . '</b><br /><br /><br /><br />';
$timeout = 3;
$old = ini_set('default_socket_timeout', $timeout);
$file = fopen($liste['lien'], 'r');
ini_set('default_socket_timeout', $old);
stream_set_timeout($file, $timeout);
stream_set_blocking($file, 0);
clearstatcache();
Tu dois certainement utiliser mysql_pconnect, et ne pas fermer la connexion.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: