max_user_connection à cause de fopen ?

Répondre
Also know as
le 28/05/2007 à 18:40
Also know as
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...

@+
LA GLOBULE
le 28/05/2007 à 19:05
LA GLOBULE
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.
Also know as
le 28/05/2007 à 19:48
Also know as
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 ?

@+
Also know as
le 28/05/2007 à 21:10
Also know as
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();
LupusMic
le 05/06/2007 à 11:31
LupusMic
Tu dois certainement utiliser mysql_pconnect, et ne pas fermer la connexion.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours