Help !!! probleme de temps de connexion sur mon forum

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Help !!! probleme de temps de connexion sur mon forum

Message le Jeu Nov 20, 2003 11:12

HELP !

Je suis nul en PHP :oops:

j'ai un problème qui m'a été signalé par OVH :

"Notre système de surveillance (Okillerd Mysql), a détecté
un problème avec vos connexion au serveur MySQL. Vous êtes
bien connectez, mais vous oubliez de vous déconnectez ou alors
votre traitement dure plus longtemps qu'il ne devrait.

Il s'agit de:
| Id | User | Host | db | Command | Time | State | Info |
***|***|web12.***.net|***|Sleep|6|||"



Bref, faudrait pouvoir déconnectez les users automatiquement quand ils quittent le forum

mon fichier config est cela :

<?php
/*
XMB 1.8 Partagium
© 2001 - 2003 Aventure Media & The XMB Developement Team
http://www.aventure-media.co.uk
http://www.xmbforum.com

For license information, please read the license file which came with this edition of XMB
*/

// Database connection settings
$dbname = '***'; // Name of your database
$dbuser = '***'; // Username used to access it
$dbpw = '***'; // Password used to access it
$dbhost = '***'; // Database host, usually 'localhost'
$database = 'mysql'; // Database type, currently only mysql is supported.
$pconnect = 0; // Persistent connection, 1 = on, 0 = off, use if 'too many connections'-errors appear

// Table Settings
$tablepre = 'xmb_'; // Table-pre

// Path-settings
// In full_path, put the full URL you see when you go to your boards, WITHOUT the filename though!!
// And please, don't forget the / at the end...
$full_url = 'http://www.americas-fr.com/';

// Plugin Settings
$plugname[1] = ''; // Added plugin name, to create another plugin, copy and change [1] to [2] etc
$plugurl[1] = ''; // This is the location, link, or URL to the plugin
$plugadmin[1] = 'no'; // Is this plugin only for admins? Set to yes for admins, no for public

// Registration settings
/***************
* Registrations from the same IP to happen more than once per 24 hours,
* To allow
* turn the following option 'off'. Meaning instead of the default:
* $ipreg = 'on';
*
* change it to:
* $ipreg = 'off';
*
****************
* The ipcheck, checks if your IP is a valid IPv4 or IPv9 type, if none of these, it will kill.
* this might shut a few users out, so you can turn it off by changing the $ipcheck variable to 'off'
****************/

$ipreg = 'on';
$ipcheck = 'on';
?>


Vous avez un idée ? :roll:

JPC
WRInaute passionné
WRInaute passionné
 
Messages: 565
Inscription: Lun Juin 02, 2003 10:19

Message le Jeu Nov 20, 2003 11:24

il faudrait mettre des mysql_close() à la fin de tes pages php...


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Jeu Nov 20, 2003 11:27

sur toutes les pages.php ?

JPC
WRInaute passionné
WRInaute passionné
 
Messages: 565
Inscription: Lun Juin 02, 2003 10:19

Message le Jeu Nov 20, 2003 11:29

ben en fait peut être dans un footer de ton forum si tu en as un ?
ou en fin de ta page principale qui ferait le include de ton forum ?...


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Jeu Nov 20, 2003 11:35

JPC a écrit:il faudrait mettre des mysql_close() à la fin de tes pages php...


A la fin des pages ça ne sert à rien, vu que la déconnexion se fait automatiquement. Par contre, il faudrait en mettre dès que la connexion n'est plus nécessaire.
Pour info, on peut mettre un mysql_close() juste après un mysql_query() et AVANT (oui oui) le mysql_fetch_*
Comme en général on boucle sur cette fonction, ça peut s'avérer un gain non négligeable de déconnecter avant la boucle.

Fred


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Jeu Nov 20, 2003 11:37

Ya bien un header et un index... le footer est géré par un template... mais je ne vois pas du tout où placer ça 8O

ya des query partout dans mon index.php :lol:

Webby
Nouveau WRInaute
 
Messages: 47
Inscription: Jeu Mai 15, 2003 15:24

Message le Jeu Nov 20, 2003 11:47

comme te le conseille JPC, il vaut mieux fermer tes connexions à la fin de toute page où tu fait un querry, plutôt que d'attendre la déconnexion automatique sur page (par timout). C'est plus propre et plus sûr.


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Jeu Nov 20, 2003 11:52

Vous vous rendez pas compte que vous parlez à une daube en php :lol:

voila la fin de mapage forumdisplay.php par exemple :


$forumdisplay = stripslashes($forumdisplay);
echo $forumdisplay;

end_time();

eval("\$footer = \"".template("footer")."\";");
echo $footer;
?>



Je le place où moi le mysql_close() ? :roll:


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Jeu Nov 20, 2003 11:55

Americas a écrit:Je le place où moi le mysql_close() ? :roll:


Avant tout ça. Mais pas forcément juste avant. ;)
Sérieusement, le seul conseil sensé, c'est de le mettre dès que tu n'as plus besoin de la connexion, donc dès que tu ne fais plus de requêtes.

Fred


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Jeu Nov 20, 2003 11:58

Je craque !!!!

Puisque c'est mon fichier config.php qui me connecte à la base... c'est dans ce fichier que je devrais mettre une commande de deconnexion, non ?

et si je rajoutais àa dans mon config ?

// disconnected timeout
$timeout = 60; // in seconds.. you can make it higher or lower.. i suggest keeping it at 1 minute


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Jeu Nov 20, 2003 12:34

Americas a écrit:Je craque !!!!


Mais non, mais non :D

Americas a écrit:Puisque c'est mon fichier config.php qui me connecte à la base... c'est dans ce fichier que je devrais mettre une commande de deconnexion, non ?


Non. Je vais me repéter, mais le mysql_close() doit être utilisé dès que tu n'as plus besoin de la connexion, donc dès que tu ne fais plus aucune requête SQL.

Exemple :

Code: Tout sélectionner
<?php
$db = mysql_connect('serveur', 'login', 'pass');
mysql_select_db('base', $db);

$sql = 'SELECT champ FROM table ORDER BY autreChamp';
$query = mysql_query($sql);

$sql2 = 'SELECT champ2 FROM table2 ORDER BY autreChamp2';
$query2 = mysql_query($sql2);

// je peux me deconnecter ici, j'ai fini mes requetes
mysql_close();

// maintenant je peux travailler sur mes résultats avec mysql_fetch_*
// etc.
?>


Bien sûr je me doute que ton forum doit être bien plus complexe, mais le principe est là : dès que j'ai fini les requêtes je peux me déconnecter.

Americas a écrit:et si je rajoutais àa dans mon config ?

// disconnected timeout
$timeout = 60; // in seconds.. you can make it higher or lower.. i suggest keeping it at 1 minute


A mon avis ça doit juste être un paramètre interne au script qui fait qu'au bout de ce temps, il s'arrête. Et donc la connexion se ferme automatiquement, comme en l'absence de mysql_close().
Ce qu'il te faut c'est surtout éviter que la connexion au serveur reste ouverte inutilement.

Fred


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Jeu Nov 20, 2003 12:41

je vois ce que tu veux dire... mais comme tu le dis... le forum doit être bien plus complexe :?

bon... dans le message d'OVH ils me disent "ou alors votre traitement dure plus longtemps qu'il ne devrait"

Moi je ne voit aucun user connecté sur mon forum actuellement... donc le forum déconnecte automatiquement quand le type s'en va.

Je vais réduire le nombre de messages par page... le traitement devrait durer moins longtemps :roll:

JPC
WRInaute passionné
WRInaute passionné
 
Messages: 565
Inscription: Lun Juin 02, 2003 10:19

Message le Jeu Nov 20, 2003 22:18

heu, sinon, moi j'essaierais de le mettre qaund même là :
Code: Tout sélectionner
$forumdisplay = stripslashes($forumdisplay);
echo $forumdisplay;

mysql_close(); // <------------

end_time();

eval("\$footer = \"".template("footer")."\";");
echo $footer;


je pense que tu n'a pas de requête dans ton footer...
et ça limitera toujours quelques non deconnexions ...
Tu ne crois pas Fred ?


Kmacleod
WRInaute accro
WRInaute accro
 
Messages: 3418
Inscription: Jeu Nov 28, 2002 15:47

Message le Jeu Nov 20, 2003 22:24

Ovh a arrété ce soir son controle des requetes SQL :lol:


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Jeu Nov 20, 2003 22:41

Kmacleod a écrit:Ovh a arrété ce soir son controle des requetes SQL :lol:


Comment tu sais cela ? 8O

Help !!! probleme de temps de connexion sur mon forum

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités