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

PHP & Base de données Discussion :

Affichage différent de microtime() d'un poste à l'autre [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut Affichage différent de microtime() d'un poste à l'autre
    Bonjour à tous,

    J'ai un problème très surprenant : j'ai une page PHP5 qui ne fait qu'afficher microtime() : "echo microtime();". Logiquement, et c'est le cas le plus souvent, les différentes personnes qui consultent cette page affichent le même résultat au même moment. Mais j'ai régulièrement le cas de 2 personnes qui ont 10 à 20 secondes d'écart (alors qu'elles synchronisent leur appui sur la touche F5). C'est tout à fait incompréhensible et lorsque cela se produit, le problème est alors systématique entre ces 2 personnes jusqu'à leur déconnexion.

    J'ai ajouté les lignes
    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Fri, 01 Jan 2010 00:00:00 GMT");
    juste avant au cas où ce serait un problème de cache, mais cela ne change rien.

    Si quelqu'un a une idée, je suis preneur, car, là, je suis sec ...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Déja je fais le même constat que toi : ce n'est pas possible ; ou du moins cela signifierait qu'il s'est écoulé 20 secondes de plus entre le moment ou il appuie sur sa touche et le traitement par le serveur par rapport à l'autre participant.

    Ca ne peut pas être non plus un problème de cache puisque ton affichage evolue bien.

    Est-ce que ce que l'écart de 20 n'est pas plutot sur les microsecondes ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    Merci de ta réponse. Ce sont bien des secondes, on a fait de nombreux tests, et quand l'écart est constaté entre 2 personnes, il le reste pendant toute la durée de nos tests. Ce sont souvent les mêmes personnes qui sont en avance de 10-20 secondes sur les autres et je n'ai jamais le problème en simulant plusieurs connexions depuis un même poste. Comprends pas ...

    Ce n'est pas non plus un problème de synchronisation des tests puisque si je rajoute dans le code l'écriture en base de données des résultats de microtime() par utilisateurs, je vois bien qu'il y en a un qui est décalé par rapport aux autres, qui le "rattrapent" 10-20 secondes plus tard.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas non plus un problème de synchronisation des tests puisque si je rajoute dans le code l'écriture en base de données des résultats de microtime() par utilisateurs, je vois bien qu'il y en a un qui est décalé par rapport aux autres
    Tu veux dire que le microtime() que tu enregistres dans la base de donnée et le microtime() qu'il voit ne sont pas les mêmes ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    Si c'est bien le microtime que j'affiche à chacun mais je vois bien que j'enregistre parfois en base une valeur supérieure de 10-20 secondes à celles des autres. Pour simplifier, mon log fera quelque chose du style :
    1000
    1003
    1005
    1022
    1007
    1010
    1028
    1015
    ...
    Le valeurs en gras étant celles créées lors de l'affichage par une certaine personne, qui est la seule à ne pas avoir la même heure que les autres, alors que c'est l'heure du serveur qui est affichée. C'est incompréhensible parce que c'est l'heure du serveur, qui est forcément la même pour tous ... Je vais faire une page de test ...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    Merci pour vos réponses.

    Non, ce sont bien des secondes. Cela semble durer le temps d'une session, l'un des utilisateurs étant systématiquement décalé de x secondes par rapport aux autres.

    J'ai fait un code très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Fri, 01 Jan 2010 00:00:00 GMT");
    file_put_contents("fichier.txt",date("YmdHis")."\r\n",FILE_APPEND); ?>
    Et voilà ce que ça donne quand j'ai le problème :
    • 20100119194312 Utilisateur 1
      20100119194317 Utilisateur 1
      20100119194323 Utilisateur 1
      20100119194335 Utilisateur 2
      20100119194337 Utilisateur 2
      20100119194328 Utilisateur 1
      20100119194338 Utilisateur 2
      20100119194333 Utilisateur 1
      20100119194343 Utilisateur 2
      20100119194338 Utilisateur 1
      20100119194349 Utilisateur 2
      20100119194343 Utilisateur 1
      20100119194348 Utilisateur 1
      20100119194359 Utilisateur 2
      20100119194400 Utilisateur 2
      20100119194402 Utilisateur 2
      20100119194353 Utilisateur 1

    La date serveur de l'utilisateur 2 est en avance d'une dizaine de secondes sur celle de l'utilisateur 1 ... incompréhensible !

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut Connection Persistante au niveau du navigateur client
    Salut, est-ce qu'il y a une différence de navigateur entre l'utilisateur 1 et l'utilisateur 2? si c le cas ça peut être dû à un problème relatif à la façon avec laquelle ton serveur web gère les connections persistantes.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu as la possibilité de tester avec PHP5.3 si ce n'est pas déjà le cas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    J'ai eu l'occasion d'en parler avec quelqu'un qui a probablement trouvé l'explication : cette page étant en hébergement mutualisé, elle était probablement hébergée sur plusieurs serveurs en load-balancing et l'un d'eux n'était probablement pas à la même heure que les autres et avançait de 10 à 20 secondes, ce qui explique que certains utilisateurs n'avaient pas la même heure que les autres ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage différent selon poste
    Par rinoa777 dans le forum Access
    Réponses: 1
    Dernier message: 10/03/2009, 15h22
  2. [Dates] affichage différent selon le mois en cours
    Par itri2005 dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2006, 17h05
  3. [CSS]Affichage différent sous IE et FF
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 08/12/2005, 13h53
  4. Affichage différent selon texte dans une case
    Par pingoo78 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 16h32
  5. Affichage différent entre Windows XP et 2000
    Par Ben_Le_Cool dans le forum Langage
    Réponses: 9
    Dernier message: 29/07/2005, 20h52

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