2 votes

PHP time() parfois décalé de quelques secondes, puis correct la prochaine fois qu'il est appelé

J'ai un programme php simple qui fonctionne sur un service web en boîte noire, et qui utilise la fonction time() fonction. J'ai remarqué que le time() n'est pas particulièrement cohérente dans mon programme. J'affiche l'heure sur une page web et lorsque je rafraîchis la page, l'heure mise à jour est affichée.

Parfois, lorsque je rafraîchis l'information, le temps avance d'une minute ou deux. 50 y 100 secondes, puis la prochaine fois que je rafraîchis la page, elle revient à un horodatage Unix plus bas (plus cohérent), cohérent avec l'heure affichée deux rafraîchissements auparavant.

Le code est simple :

<?php 
    echo(time()); 
?>

Question

Pourquoi le résultat de la time() est parfois décalée de quelques secondes, puis correcte la fois suivante ?

3voto

R. Chappell Points 1048

En time() peut parfois donner des résultats différents lorsqu'elle est exécutée sur plusieurs serveurs. Un équilibreur de charge peut vous diriger vers un serveur où l'heure sera cohérente. Si l'équilibreur de charge vous dirige ensuite vers un autre serveur où l'horloge du système a dérivé, vous pouvez obtenir un résultat différent de la fonction time() fonction.

D'autres cas où l'heure peut être incorrecte à un moment et correcte à un autre sont ceux où l'horloge du système a dérivé. Puis, au cours d'une resynchronisation avec les serveurs de temps, elle a mis à jour l'heure, ce qui vous a fait perdre ou gagner du temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X