PHP Maximus CMS.eu | Maximus Canada | Maximus Italie | BBtoMax
spacer
spacer search

Maximus CMS - Support Officiel
Version actuelle: Fuzion BS
  Fly Kernel Version 1.1.2

Search
spacer
Accueil
Mon compte
Copyrights
header
 
Fermer ce bloc Les forums
Accueil
Mon compte

!!! Pensez aux tutoriaux !!!

Uplodez vos images en 1 clic!
Upload d'images en 1 clic !!!
Les dernières images

10 derniers posts

 Kalender: impossible de se rendre dans la configuration...
 Impossible de stopper le mode debug...
 module feedback = Contactez nous = OK
 Recommend_Us
 Ouvrir une nouvelle fenêtre pour AdSense
 Suite promouvoir admin en admin dieu
 [Résolu] Block User_Info:
 [Résolu] On ne peut visualiser les blocks dans l'admin
 [Résolu] Images absentes... dans l'admin
 désactivation des infobulles ?


Dernières discussions

 Avec Max2008 ce sera mieux...je souffrirai moins
 [release] MaxNews
 Explication vidéo du référencement
 test new cache system
 1302205 pages vues en moyenne par mois hors wiki !
 Réduire la largeur de la page d'accueil
 Un premier bridge phpbb 3.x disponible :)
 Pour ceux qui passent ineviatblement par des proxy-Astuce
 Elle vous plait cette horloge?
 Maudit Nuxit ..cyril devrait...qu'en dis-tu Cyrl ?

10 meilleurs posteurs

   epsylon 
 Ses messages
 11647 messages
  73703 points

   Cyril 
 Ses messages
 11636 messages
  98974 points

   GravuTrad 
 Ses messages
 2961 messages
  38387 points

   Thierry 
 Ses messages
 2547 messages
  56100 points

   Helger 
 Ses messages
 2520 messages
  29818 points

   unitifree 
 Ses messages
 2259 messages
  15006 points

   stephano 
 Ses messages
 1695 messages
  17903 points

   ledigicode 
 Ses messages
 1672 messages
  18221 points

   sdfhacker 
 Ses messages
 1529 messages
  25803 points

   Toumilovitch 
 Ses messages
 1237 messages
  13642 points

MaXiMuS :: Sujet - ServerLoad VS Query_die
Recherche béta forum Règlement RechercheFAQ Messagerie
 Bonjour, vous attendez de la communauté un support le plus précis et le plus rapide qu'il soit !
Vous débutez avec Maximus, veuillez consulter de prime abord ce fil de discussion, et celui-ci ...
De notre coté, nous sommes désireux d'apporter le support le plus adapté qu'il soit à chaque situation ...
Pour commencer, avez vous consulté le wiki maximus et/ou les tutoriaux ??? Aussi la solution est simple et applicable rapidement:
  1 ) Pour tout nouveau fil de discussion, mettez un titre le plus explicite possible
  2 ) Remplissez du plus précisément possible votre mini-fiche
  3 ) Pensez qu'une réponse peut être postée plusieures heures voir quelques jours après votre question, il est donc bon de remonter le sujet de temps en temps mais point trop n'en faut :)
  4 ) Pensez que Maximus est livré avec le forum bbToMax version 1.0.0 à l'origine, et que vous trouverez la dernière version 1.0.2 de disponible sur www.bbtomax !!!
  5 ) Vous reconnaissez, en postant sur ce site, avoir pris connaissance du règlement interne !
Nous vous souhaitons une forte réussite dans votre projet par le biais de Maximus CMS.

ServerLoad VS Query_die

 
Poster un nouveau sujet   Répondre au sujet   Cliquez pour afficher: Résolu    MaXiMuS Index du Forum -> Le forum des développeurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
.: Helger :.
Team Dev Maximus
Team Dev Maximus


Inscrit le: Feb 03, 2006
Messages: 2520
29818 points


Lieu de résidence
en France

Message Sujet du message: ServerLoad VS Query_die
Posté le: Ven 03 Aoû, 2007 9:19 pm
Répondre en citant

Ou comment l'une fait passer l'autre pour un vilain petit canard noir.

Hello.

Tous nous connaissons les célèbres mails concernant la fonction ServerLoad.
Et tous avons incriminés cette fonction prétextant qu'elle mettait le serveur par terre avec son "MySQL server has gone away".
Enfin tous, presque, car j'ai toujours eu des doutes que ce soit cette fonction qui merdoyait. (Epsy en est témoin, je lui est souvent signifié.).

Pourquoi des doutes ?
Tout simplement que lorsque qu'un serveur de BDD ne répond plus, c'est vraiment autrement que cela se passe.
De plus, cette information prise dans son premier sens peut faire penser que le serveur par en brioche mais on oublie aussi que cela peut venir tout simplement d'un script qui dure un temps fou et que le serveur, à force d'attendre, dit "Woh, tu me gonfles" ou tout simplement une fermeture de la BDD.
Et oui.

J'ai toujours cherché le pourquoi du comment, à me prendre la tête comme pas possible.
Tous ceux qui codent connaissent ce hasard à trouver les failles ou les résolutions. Mr. Green
Et ce hasrad, je l'ai eu.

Tout simplement en regardant de plus près le block User_Island.
Je me suis dis que pour mieux voir ce qu'il se passe, je vais utiliser la petite soeur de messages_die, query_die.
Alors, à chaque requête SQL ou appel au fichier MySQL.php, je la mets.
Et quelle surprise, 48 mails rien que la première fois.

Que diantre, m'ouis-je dire.
Pourtant, je ne me suis pas fait ch*** à taper la fonction.
Un bête copié-collé.
Et le plus étonnant, c'est que la première erreur se passe sur les messages privés. Shocked
Ben ça y est, la BS pète les plombs.

En fait non.
Voilà la fameuse requête :
Code:
if ( !($result = $GLOBALS['db']->sql_numrows($GLOBALS['db']->sql_query($sql))
{ query_die(MODULE_ERROR, 'Could not SELECT Private_Messages, '', __LINE__, __FILE__, $sql);}
Quand on la regarde comme ceci, elle est identique à beaucoup de lignes figurant dans la BS (comme dans le module statistiques) et ne semble révéler quoique ce soit.

Et pourtant.
La première erreur est l'imbrication des deux fonctions.
La deuxième peut très bien renvoyer null et la première se plante carrément. (Dans l'ordre de lecture.).
Ce qui fait que query_die, du fait d'un traitement d'un message à vide de l'erreur SQL, ne renvoie rien de rien à part les mails.
La deuxième erreur est que cette ligne de code n'empêche pas le script de continuer.
Et le délire commence. Tout s'enchaine. Le incof de la fonction query_die ke doit pas y être étranger (Peux pas vérifier, un coquin a crypté un certain fichier. Razz ). Le script continue et query_die se voit ingurgiter une quantité astronmique d'erreurs à ne pouvoir renseigner dans la BDD, la BS fait des requêtes en veux-tu en voilà pour positionner le reste (A savoir les blocks.) et au final renvoie une quantité de mails signifiant que le serveur ne répond plus cetainement dû à la fermeture de la BDD.

Les solutions s'imposent toutes seules.
De un, ne pas imbriquer les fonctions de MySQL.php, le vide étant permis et n'est pas une erreur.
De deux, arrêter le script. Ce qui donne ceci :
Code:
   $sql = "SELECT `privmsgs_to_userid`
           FROM `".PRIVMSGS_TABLE."`
           WHERE `privmsgs_to_userid`='$num'
           AND (`privmsgs_type`='5' OR `privmsgs_type`='1')";
   $result = $GLOBALS['db']->sql_query($sql)
             or die(query_die(BLOCK_ERROR, "Could not SELECT FROM ".PRIVMSGS_TABLE."", "", __LINE__, __FILE__, $sql));
   $mpnuev = $GLOBALS['db']->sql_numrows($result);
A travers ceci, vous renvoyez bien une erreur SQL en cas d'un retour erroné de la requête SELECT et arrêtez le script grâce à l'alias de la fonction exit, die.

Et voilà comment une erreur peut amener à condamner une fonction alors qu'une autre en est la cause.

Wink

P.S. : méfiance quand même. J'ai personnellement modifié pas moins de six fichiers du root du Kernel. Sur MC, les modifs apportées à blocks_maximus.php et blocks_phpnuke.php beugguent. Rolling Eyes
A plus de recherche.

Les fichiers que j'ai modifiés seront transmis à la team pour un débugage total pour ne plus être envahi de ces fameux mails.

Wink

N.B. : cette analyse m'est propre bien évidemment et je peux me tromper. Avis à la populasse pour son analyse.

Wink



Participez sur nos forums, et retrouvez en lieu et place de la publicité des informations plus précises sur chacun des utilisateurs, identifiez vous dès à présent


-*-*-*-*-*-*-*-*-*-*-
Les meilleurs conseils dédiés à Maximus
   Retrouvez tous les conseils concernant PHP Maximus CMS sur le Wiki Communautaire
   Pensez que nul n'est censé ignorer le règlement interne des forums Maximus CMS !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
.: epsylon :.
Team Dev Maximus
Team Dev Maximus


Inscrit le: Apr 28, 2005
Messages: 11647
73703 points


Lieu de résidence
en France

Message Sujet du message: Re: ServerLoad VS Query_die
Posté le: Ven 03 Aoû, 2007 9:28 pm
Répondre en citant

tu a testé ca aussi sur world non?



Participez sur nos forums, et retrouvez en lieu et place de la publicité des informations plus précises sur chacun des utilisateurs, identifiez vous dès à présent


-*-*-*-*-*-*-*-*-*-*-
Les meilleurs conseils dédiés à Maximus
   Retrouvez tous les conseils concernant PHP Maximus CMS sur le Wiki Communautaire
   Pensez que nul n'est censé ignorer le règlement interne des forums Maximus CMS !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
.: Helger :.
Team Dev Maximus
Team Dev Maximus


Inscrit le: Feb 03, 2006
Messages: 2520
29818 points


Lieu de résidence
en France

Message Sujet du message: Re: ServerLoad VS Query_die
Posté le: Ven 03 Aoû, 2007 9:32 pm
Répondre en citant

Hello.

C'est exact.
Sauf que sur Word, j'ai été encore plus violent puisque le code erreur 2006 est ignoré. Rolling Eyes

Wink



Participez sur nos forums, et retrouvez en lieu et place de la publicité des informations plus précises sur chacun des utilisateurs, identifiez vous dès à présent


-*-*-*-*-*-*-*-*-*-*-
Les meilleurs conseils dédiés à Maximus
   Retrouvez tous les conseils concernant PHP Maximus CMS sur le Wiki Communautaire
   Pensez que nul n'est censé ignorer le règlement interne des forums Maximus CMS !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
.: epsylon :.
Team Dev Maximus
Team Dev Maximus


Inscrit le: Apr 28, 2005
Messages: 11647
73703 points


Lieu de résidence
en France

Message Sujet du message: Re: ServerLoad VS Query_die
Posté le: Ven 03 Aoû, 2007 9:41 pm
Répondre en citant

eh ben putain Sad
mais bon j'ai plus d'erreur apparemment et le site fonctionne bien Smile



Participez sur nos forums, et retrouvez en lieu et place de la publicité des informations plus précises sur chacun des utilisateurs, identifiez vous dès à présent


-*-*-*-*-*-*-*-*-*-*-
Les meilleurs conseils dédiés à Maximus
   Retrouvez tous les conseils concernant PHP Maximus CMS sur le Wiki Communautaire
   Pensez que nul n'est censé ignorer le règlement interne des forums Maximus CMS !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
.: GravuTrad :.
Connaisseur Maximus
Connaisseur Maximus


Inscrit le: May 12, 2005
Messages: 2961
38387 points


Lieu de résidence
en Belgique

Message Sujet du message: Re: ServerLoad VS Query_die
Posté le: Sam 25 Aoû, 2007 7:04 pm
Répondre en citant

des avancées ont été faites là dessus?



Participez sur nos forums, et retrouvez en lieu et place de la publicité des informations plus précises sur chacun des utilisateurs, identifiez vous dès à présent
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    MaXiMuS Index du Forum -> Le forum des développeurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Vous ne pouvez pas joindre des fichiers
Vous ne pouvez pas télécharger des fichiers

 

Hebeh.com, hebergement professionnel de sites internet www.hebeh.com

Hicih.com, noms de domaine pour vos sites internet www.hicih.com

Pétition contre la loi pécresse www.psycholyon2contrelaloipecresse.com

Forums ©
 
Distroy Forums Cache ~ Distroy Sessions ~ 
Retrouvez des informations similaires grâce aux moteurs de recherche suivants:
 google google.com yahoo msn aol altavista mozbot biglotron mirago exalead voila lycos seek ask france ask monde france evasion apocalx vigoos doona globly envolk metafrance mamma alltheweb
Reproduction interdite (partielle ou totale) sans autorisation écrite de notre part.
Copyrights Maximus CMS
Projet Maximus SourceForge
Google Groups Maximus
Maximus CMS est présent sur le Wikipedia Français
Maximus OsCommerce est présent sur le Wikipedia Français
Projet Open Source hébergé par www.hebeh.com

rss rss
Tous droits réservés. PHP-MaXiMuS est un logiciel libre en version GNU/GPL license.
Copyright 2005 - 2008 PHP-Maximus CMS.

[ Page générée en 0.3447 sec ] [ (PHP: 86% - SQL: 14%) ] [ Requêtes SQL: 39 ] [ 1265 pages vues la dernière heure ]
 Top Max Cache Off Copyright Mentions légales PHP Maximus CMS